配置步骤:

    1.添加虚拟用户口令文件

    

vim /etc/vsftpd/vuser.txt (注:vuser.txt是我自己定义,可以是任意自定义的)

candy #用户名
123   #密码
limingyu #用户名
123456   #密码


    2.生成虚拟用户口令认证

    

yum install -y db4-utils   #没有这个工具的先安装


db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

#把文本文档转换为数据库

    

    3.编辑vsftpd的PAM认证文件

    

    

vim /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

#其他行全部注释掉,写入上面两行
#注释掉其它行,可以禁止本地用户登陆,因为本地用户登陆时的验证依赖这个文件


    4.建立本地映射用户并设置宿主目录权限


    

useradd -d /home/vsftproot -s /sbin/nologin vuser

#此用户不需在登陆,只是映射用户
#用户名必须和下一步配置文件中一致

chmod 755 /home/vsftproot

      

    5.修改配置文件


    

vim /etc/vsftpd/vsftpd.conf


guest_enable=YES
#开启虚拟用户

guest_username=vuser
#ftp虚拟用户对应的系统用户

pam_service_name=vsftpd
#pam认证文件(默认存在)

    

    6.重启服务并测试

    

 service vsftpd restart 或 /etc/init.d/vsftpd restart
 
 #此时虚拟用户可以登陆,查看,下载,不能上传
 #默认上传位置是宿主用户的家目录
 #权限使用的的匿名用户权限进行管理

    

    7.调整虚拟用户权限

    

    

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
#关闭匿名用户登陆,更加安全(不影响虚拟用户登陆)

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

#给虚拟用户设定权限,允许所有虚拟用户上传