如何在Ubuntu上配置vsftp虚拟用户

1400
2025/3/12 12:31:49
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上配置vsftpd虚拟用户需要以下几个步骤:

  1. 安装vsftpd: 打开终端,运行以下命令来安装vsftpd:

    sudo apt-get update
    sudo apt-get install vsftpd
    
  2. 创建虚拟用户数据库: 首先,创建一个文件来存储虚拟用户的用户名和密码。例如,创建一个名为/etc/vsftpd/virtual_users.txt的文件:

    sudo touch /etc/vsftpd/virtual_users.txt
    sudo chmod 600 /etc/vsftpd/virtual_users.txt
    

    然后,使用文本编辑器打开文件,并添加虚拟用户的用户名和密码。每行一个用户,格式为用户名:密码。例如:

    user1
    password1
    user2
    password2
    
  3. 创建虚拟用户映射: 安装db-util工具来生成虚拟用户映射数据库:

    sudo apt-get install db-util
    

    使用db_load命令创建虚拟用户映射数据库:

    sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    sudo chmod 600 /etc/vsftpd/virtual_users.db
    
  4. 配置vsftpd: 使用文本编辑器打开/etc/vsftpd.conf文件:

    sudo nano /etc/vsftpd.conf
    

    修改以下配置项:

    • 将anonymous_enable=YES改为anonymous_enable=NO,禁止匿名用户登录。
    • 取消local_enable=YES的注释,允许本地用户登录。
    • 取消write_enable=YES的注释,允许FTP写操作。
    • 添加以下配置项以启用虚拟用户:
      guest_enable=YES
      guest_username=ftp
      virtual_use_local_privs=YES
      user_sub_token=$USER
      local_root=/home/$USER
      chroot_local_user=YES
      allow_writeable_chroot=YES
      
    • 添加以下配置项以使用虚拟用户映射数据库:
      pam_service_name=vsftpd-virtual
      userlist_enable=YES
      tcp_wrappers=YES
      

    保存并关闭文件。

  5. 配置PAM(可插拔认证模块): 创建一个名为/etc/pam.d/vsftpd-virtual的文件:

    sudo touch /etc/pam.d/vsftpd-virtual
    sudo chmod 600 /etc/pam.d/vsftpd-virtual
    

    使用文本编辑器打开文件,并添加以下内容:

    auth required pam_userdb.so db=/etc/vsftpd/virtual_users
    account required pam_userdb.so db=/etc/vsftpd/virtual_users
    
  6. 重启vsftpd服务:

    sudo systemctl restart vsftpd
    

现在,您已经成功配置了vsftpd虚拟用户。您可以使用创建的虚拟用户名和密码登录FTP服务器。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu nodejs如何进行日志管理