Vsftpd虚拟账户配置
    1、创建进行FTP认证的用户数据库文件,其中奇数为账户名,偶数为密码
    注意:所有的环境是建立在关闭SELinux及Firewalld、iptables
    [root@localhost ~]# cd /etc/vsftpd/
    [root@localhost vsftpd]# ls
    ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
    [root@localhost vsftpd]# more vuser.list
    kali
    123456
    unix
    123456
    [root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db
    (创建用户数据库文件)
    [root@localhost vsftpd]# file vuser.db
    vuser.db: Berkeley DB (Hash, version 9, native byte-order)
    2、创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。
    TP服务用于存储文件的根目录指的是,当虚拟用户登录后所访问的默认位置。(简单来说创建一个可以映射到虚拟用户的系统本地用户)
    [root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual
    [root@localhost vsftpd]# chmod -Rf 755 /var/ftproot/
    3、建立用于支持虚拟用户的PAM文件。
    [root@localhost vsftpd]# more /etc/pam.d/vsftpd.vu
    auth required pam_userdb.so db=/etc/vsftpd/vuser
    account required pam_userdb.so db=/etc/vsftpd/vuser
    因为有些时候这样的验证方式在系统中是被否认的,以上验证方式是针对于CentOS6系统, 以下为CentOS7验证方式
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
    拓展:
    pam_userdb(vsftpd:auth): user_lookup: could not open database `/etc/vsftpd/vsftpd_login.db’: No such file or directory
    这种报错日志:找不到验证的方式,需要修改/etc/pam.d/vuser中的验证方式
    4、修改主配置文件
    利用PAM文件进行认证时使用的参数以及作用
    image.png
    当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;

    当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

    当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,

    anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

    当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

    anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。