Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CentOS vsftpd虚拟用户配置
- ---
- ## 1. vsftpd配置文件 /etc/vsftpd/vsftpd.conf
- ```
- anonymous_enable=NO
- # 限定用户只能访问自己的目录
- chroot_local_user=YES
- # 虚拟账户
- guest_enable=YES
- user_config_dir=/etc/vsftpd/vu
- #PAM认证文件
- pam_service_name=vsftpd.vu
- ```
- ## 2. 生成账户数据库 /etc/vsftpd/login.txt
- 添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。
- ```
- web
- 123456
- ```
- 使用以下命令生成账号数据库
- > db_load -T -t hash -f ./logins.txt ./login.db
- ## 3. 设置虚拟账号验证和授权 /etc/pam.d/vsftpd.vu
- ```
- auth required pam_userdb.so db=/etc/vsftpd/login
- account required pam_userdb.so db=/etc/vsftpd/login
- ```
- ## 4. 配置虚拟用户权限 /etc/vsftpd/vu/web
- ```
- #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
- guest_username=ftpuser
- local_root=/home/ftpuser/
- anon_umask=022
- virtual_use_local_privs=YES
- anon_world_readable_only=NO
- write_enable=YES
- anon_mkdir_write_enable=YES
- anon_upload_enable=YES
- anon_other_write_enable=YES
- #-----------------------
- #虚拟用户配置文件名必须与用户名一致
- vim /etc/vsftpd/vu/ossblogs
- guest_username=vsftp #虚拟用户的宿主用户
- local_root=/data/ftp/ossblogs #虚拟用户根目录
- anon_world_readable_only=NO
- write_enable=YES #写权限
- anon_upload_enable=YES #上传权限
- anon_mkdir_write_enable=YES #创建文件夹权限
- anon_other_write_enable=YES #其他权限
- ```
- ## 详细配置
- ```
- #使用当地时间
- use_localtime=YES
- #这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/var/run/vsftpd/empty
- secure_chroot_dir=/var/run/vsftpd/empty
- #预设 RSA 加密的凭证档案所在
- rsa_cert_file=/etc/ssl/private/vsftpd.pem
- #login时的欢迎信息
- ftpd_banner=Welcome to FTP service.
- #显示欢迎信息
- banner_file=/etc/vsftpd/welcome.txt
- #允许匿名访问?YES/NO
- anonymous_enable=NO
- #设定本地用户可以访问。默认.注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问
- local_enable=YES
- #可写
- write_enable=NO
- #上传后文件的权限掩码 默认
- local_umask=022
- #开启目录标语,默认
- dirmessage_enable=YES
- #开启日志,默认
- xferlog_enable=YES
- #设定vsftpd的服务日志保存路径 将前面的#注释
- xferlog_file=/var/log/xferlog
- #生成的日志格式 默认
- xferlog_std_format=YES
- #如果启用该选项,将生成两个相似的日志文件,默认在 /var/log/xferlog 和 /var/log/vsftpd.log 目录下。前者是 wu-ftpd 类型的传输日志,可以利用标准日志工具对其进行分析;后者是Vsftpd类型的日志。
- dual_log_enable=YES
- #在用xferlog文件记录服务器上传下载情况的同时,vsftpd_log_file所指定的文件,即/var/log/vsftpd.log,也将用来记录服务器的传输情况。
- vsftpd_log_file=/var/log/vsftpd.log
- #设定连接端口20 不是ftp端口
- connect_from_port_20=YES
- #会话超时,客户端连接到ftp但未操作
- idle_session_timeout=600
- #支持异步传输功能,默认是注释掉的,去掉注释
- async_abor_enable=YES
- #支持ASCII模式的下载功能,默认是注释掉的,去掉注释
- ascii_upload_enable=YES
- #支持ASCII模式的上传功能,默认是注释掉的,去掉注释
- ascii_download_enable=YES
- #在预设的情况下,是否要将使用者限制在自己的家目录之内(chroot)?如果是 YES 代表用户默认就会被 chroot,如果是 NO, 则预设是没有 chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成 YES 才好。
- chroot_local_user=YES
- #禁止本地用户登出自己的FTP主目录 去掉注释,这个非常重要
- # chroot_list_enable=YES
- #上个选项开启 这个文件才生效 不过不存在需要你手工创建
- # chroot_list_file=/etc/vsftpd/chroot_list
- #监听IPV4
- listen=YES
- #ftp监听端口 默认21 原始配置中没有
- listen_port=21
- #设定pam服务下vsftpdd的验证配置文件名,不用改
- pam_service_name=vsftpd
- #限制主机对VSFTP服务器的访问,不用改(通过/etc/hosts.deny和/etc/hosts.allow这两个文件来配置)原始配置中没有
- tcp_wrappers=YES
- #设定启用虚拟用户功能
- guest_enable=YES
- #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
- guest_username=vsftpduser
- #设定虚拟用户的权限符合他们的宿主用户(虚拟用户与宿主用户具有相同的权限)
- virtual_use_local_privs=YES
- #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性的配置文件(配置文件名=虚拟用户名)
- user_config_dir=/etc/vsftpd/vconf
- # 是否藉助 vsftpd 的抵挡机制来处理某些不受欢迎的账号,与底下的参数设定有关;
- userlist_enable=YES
- # 当 userlist_enable=YES 时才会生效的设定,若此设定值为 YES 时,则当使用者账号被列入到某个档案时, 在该档案内的使用者将无法登入 vsftpd 服务器!该档案文件名与下列设定项目有关。
- userlist_deny=YES
- # 若上面 userlist_deny=YES 时,则这个档案就有用处了!在这个档案内的账号都无法使用 vsftpd 喔!
- userlist_file=/etc/vsftpd/user_list
- #可接受的最大client数目
- max_clients=100
- #每个ip的最大client数目
- max_per_ip=5
- #本地用户的传输比率(bytes/s)
- local_max_rate=1310720
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement