1.安装vsftpd服务
[root@localhost ~]# yum install -y vsftpd
2.修改vsftpd配置文件vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //设定不允许匿名访问,把yes改为no
3.以下这些事关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要直接手动添加
guest_enable=YES //设定启用虚拟用户功能
guest_username=virtual //指定虚拟用户的宿主用户
user_config_dir=/etc/vsftpd/vusers_dir //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。
4.创建用户密码文本/etc/vsftpd/vuser.list,注意奇数行是用户名,偶数行是密码。
[root@localhost vsftpd]# vim vuser.list
user1
123456
user2
123456
5.生成虚拟用户认证的db文件,删除源文件并db文件修改权限
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[root@localhost vsftpd]# rm -f vuser.list
[root@localhost vsftpd]# chmod 600 vuser.db
6.创建虚拟用户,设置默认用户路径,并设置虚拟用户不能登录。修改默认路径的权限
[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@localhost vsftpd]# chmod 755 /var/ftproot
7.编辑认证文件/etc/pam.d/vsftpd, 全部注释掉原来语句,再增加以下两句
[root@localhost vsftpd]# vi /etc/pam.d/vsftpd
#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
8.创建虚拟用户配置文件
[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir
[root@localhost vsftpd]# cd /etc/vsftpd/vusers_dir
[root@localhost vsftpd]# touch user1
[root@localhost vsftpd]# vim user2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
9.设置selinux
[root@localhost vsftpd]# setenforce 0 //临时关闭seLinux
[root@localhost vsftpd]# vim /etc/selinux/config
修改为 ————》SELINUX=disabled //需要重启生效
10.关闭iptables防火墙
[root@localhost vsftpd]# service iptables stop //暂停防火墙
[root@localhost vsftpd]# iptables -F
[root@localhost vsftpd]# iptables -X //清除防火墙规则
[root@localhost vsftpd]# iptables -Z
[root@localhost vsftpd]# service iptables save //保存防火墙规则
11.创建测试文件
[root@localhost ~]# cd /var/ftproot/
[root@localhost ftproot]# touch test
[root@localhost ftproot]# ls
test
12.在Windows打开文件管理器,在地址栏输入ftp://ip地址
用户名:user2
密码:123456