测试环境:centos7
1. 装包与卸载
yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /etc/pam.d/vsftpd.rpmsave
2. 用户清单配置
/etc/vsftpd/ftpusers #黑名单:拒绝用户清单
/etc/vsftpd/user_list #白名单:允许用户清单
[root@localhost ~]# echo userlist_deny=NO >> /etc/vsftpd/vsftpd.conf [root@localhost ~]# grep userlist /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO [root@localhost vsftpd]# grep deny user_list # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file [root@localhost ~]# echo -e myftp '\n'ftp{1..5} >> /etc/vsftpd/user_list [root@localhost ~]# cat > /etc/vsftpd/virtual_user_list.conf << EOF ftp1 ftp1passwd ftp2 ftp2passwd ftp3 ftp3passwd ftp4 ftp4passwd ftp5 ftp5passwd EOF
3. 添加用户
[root@localhost ~]# useradd vsftpd01 -d /home/vsftpd -s /bin/false [root@localhost ~]# mkdir /home/vsftpd/ftp{1..5} [root@localhost ~]# chown -R vsftpd01.vsftpd01 /home/vsftpd/ [root@localhost ~]# chmod -R 700 /home/vsftpd/ [root@localhost ~]# chmod 600 /home/vsftpd/ [root@localhost ~]#
4. 修改pam文件
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/virtual_user_list.conf /etc/vsftpd/virtual_user_list.db [root@localhost ~]# chmod 600 /etc/vsftpd/virtual_user_list.db [root@localhost ~]# cat > /etc/pam.d/vsftpd << EOF auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user_list account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user_list EOF [root@localhost ~]#
5. 创建虚拟用户配置文件
配置说明:
//设置FTP账号根目录,指定用户访问
local_root=/home/vsftpd/ftp/
//允许写入权限,包括修改
write_enable=YES
//允许匿名用户浏览,下载文件
anon_world_readable_only=NO
//允许匿名用户上传
anon_upload_enable=YES
//允许匿名用户上传/建立目录
anon_mkdir_write_enable=YES
//允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
anon_other_write_enable=YES
[root@localhost ~]# mkdir /etc/vsftpd/virtual_user_cfg.d/ [root@localhost virtual_user_cfg.d]# cat > /etc/vsftpd/virtual_user_cfg.d/ftp1 << EOF local_root=/home/vsftpd/ftp1/ write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES EOF 。 。 。 [root@localhost virtual_user_cfg.d]# cat > /etc/vsftpd/virtual_user_cfg.d/ftp5 << EOF local_root=/home/vsftpd/ftp5/ write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES EOF
6. 调整主配文件
anonymous_enable=NO 禁止匿名用户登录
chroot_local_user=YES 禁止用户访问除主目录以外的目录
ascii_upload_enable=YES 设定支持ASCII模式的上传功能
ascii_download_enable=YES 设定支持ASCII模式的下载功能
guest_enable=YES 启动虚拟用户
guest_username=vsftpd01 虚拟用户使用的系统用户名
user_config_dir=/etc/vsftpd/virtual_user_cfg.d/ 虚拟用户使用的配置文件目录
allow_writeable_chroot=YES 最新版的vsftpd为了安全必须用户主目录没有写权限,才能登录,或者使用allow_writeable_chroot=YES
[root@localhost virtual_user_cfg.d]# sed -i 's/^chroot_/#chroot_/' /etc/vsftpd/vsftpd.conf [root@localhost virtual_user_cfg.d]# sed -i 's/^anon/#anon/g' /etc/vsftpd/vsftpd.conf [root@localhost virtual_user_cfg.d]# sed -i 's/^ascii_/#ascii_/g' /etc/vsftpd/vsftpd.conf [root@localhost virtual_user_cfg.d]# cat >> /etc/vsftpd/vsftpd.conf << EOF anonymous_enable=NO chroot_local_user=YES ascii_upload_enable=YES ascii_download_enable=YES guest_enable=YES guest_username=vsftpd01 user_config_dir=/etc/vsftpd/virtual_user_cfg.d/ allow_writeable_chroot=YES EOF [root@localhost virtual_user_cfg.d]#
7. 启服务
[root@localhost ~]# systemctl restart vsftpd
原文地址:http://www.cnblogs.com/santia-god/p/16837535.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性