需求:

user/user 用户权限,上传和下载,不能删除。

admin/admin 管理员权限,上传,下载,重命名,删除。

  1. 创建虚拟用户文件

    #touch login.txt

    #vim login.txt    #添加虚拟用户登录ftp的用户名和密码,奇数行为用户名,偶数行为对应的密码

    user

    user

    admin

    admin

  2. 生产虚拟数据库文件

    #db_load -T -t hash -f login.txt /etc/vsftpd/virtual_login.db

    #chmod 700 /etc/vsftpd/virtual_login.db     #数据库文件权限700

  3. 配置PAM文件,用于验证虚拟用户

    #vim /etc/pam.d/virtual_login  #添加内容如下,注意格式,文件不要写后缀

    auth        required     pam_userdb.so   db=/etc/vsftpd/virtual_login

    account     required     pam_userdb.so   db=/etc/vsftpd/virtual_login

  4. 创建本地用户,用于映射虚拟用户访问

    #useradd -d /var/ftp/ftpsite  virtual

  5. 修改vsftpd.conf,允许虚拟用户访问ftp服务器

    pam_service_name=/etc/pam.d/virtual_login  #虚拟用户PAM验证文件

    guest_enable=YES       #允许虚拟用户访问

    guest_username=virtual  #虚拟用户映射的本地用户

    user_config_dir=/etc/vsftpd_user_conf  #自定义虚拟用户配置文件目录

  6. 自定义用户配置文件

    #vim /etc/vsftpd_user_conf/user  #增加内容权限如下

    anon_world_readable_only=NO      #浏览目录和下载

    anon_upload_enable=YES           #允许上传

    #vim /etc/vsftpd_user_conf/admin

    anon_world_readable_only=NO    #浏览目录和下载

    anon_upload_enable=YES         #允许上传

    anon_mkdir_write_enable=YES    #创建目录和删除目录

    anon_other_write_enable=YES    #重命名和删除文件

  7. 验证

    到这里大功告成,满足需求,重启vsftpd服务,尽情验证吧!