搭建vsftpd,并实现虚拟用户

  1. 安装vsftpd
    yum install -y vsftpd
  2. 配置vsftpd
    (1)创建用户数据库文件
    [root@localhost /]# vim /etc/vsftpd/vusers.txt
    wang
    wangpass
    db_load -T -t hash -f vusers.txt vusers.db
    chmod 600 vusers.db

    (2)创建用户和访问FTP目录

    [root@localhost /]useradd -d /var/ftproot -s /sbin/nologin vuser
    [root@localhost /]chmod a=rx /var/ftproot/
    [root@localhost /]chmod -w /var/ftproot/
    [root@localhost /]mkdir /var/ftproot/upload
    [root@localhost /]setfacl -m u:vuser:rwx /var/ftproot/upload

    (3)创建pam配置文件

    [root@localhost /]# vim /etc/pam.d/vsftpd.db 
    auth required pam_userdb.so db=/etc/vsftpd/vusers
    account required pam_userdb.so db=/etc/vsftpd/vusers

    (4)指定pam配置文件

    vim /etc/vsftpd/vsftpd.conf
    guest_enable=YES
    guest_username=vuser
    pam_service_name=vsftpd.db

    (5)虚拟用户建立独立的配置文件

    mdkir /etc/vsftpd/vusers.d/
    vim /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/vusers.d/
    cd /etc/vsftpd/vusers.d/
    vim wang
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES

    (6)启动服务
    systemctl start vsftpd