ubuntu

ubuntu中vsftp如何设置虚拟用户

小樊
55
2025-05-11 18:58:51
栏目: 云计算

在Ubuntu中设置VSFTPD虚拟用户,需要遵循以下步骤:

  1. 安装VSFTPD: 如果尚未安装VSFTPD,请打开终端并运行以下命令:

    sudo apt-get update
    sudo apt-get install vsftpd
    
  2. 创建虚拟用户数据库: 首先,安装db-util软件包,它将用于创建虚拟用户数据库:

    sudo apt-get install db-util
    

    接下来,创建一个名为vsftpd的文件,用于存储虚拟用户的用户名和密码:

    sudo touch /etc/vsftpd/vsftpd_userdb
    

    使用db_load命令将用户数据添加到虚拟用户数据库中:

    sudo db_load -T -t hash -f /etc/vsftpd/vsftpd_userdb /etc/vsftpd/vsftpd_userdb
    
  3. 创建虚拟用户: 使用文本编辑器(如nano)创建一个名为virtual_users.txt的文件:

    sudo nano /etc/vsftpd/virtual_users.txt
    

    在文件中添加虚拟用户的用户名和密码,每行一个用户,格式如下:

    username1
    password1
    username2
    password2
    

    保存并关闭文件。

  4. 使用db_load命令将虚拟用户数据添加到数据库中:

    sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/vsftpd_userdb
    
  5. 创建一个PAM服务文件: 创建一个名为vsftpd-virtual的文件:

    sudo nano /etc/pam.d/vsftpd-virtual
    

    将以下内容粘贴到文件中:

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

    保存并关闭文件。

  6. 修改VSFTPD配置文件: 使用文本编辑器(如nano)打开VSFTPD配置文件:

    sudo nano /etc/vsftpd.conf
    

    在配置文件中添加或修改以下行:

    guest_enable=YES
    guest_username=ftpuser
    user_sub_token=$USER
    local_root=/home/ftpuser/$USER
    chroot_local_user=YES
    allow_writeable_chroot=YES
    pam_service_name=vsftpd-virtual
    

    保存并关闭文件。

  7. 创建虚拟用户的主目录: 创建一个名为ftpuser的用户,并将其主目录设置为/home/ftpuser

    sudo adduser --system --home /home/ftpuser --no-create-home ftpuser
    sudo chown -R ftpuser:ftpuser /home/ftpuser
    
  8. 重启VSFTPD服务:

    sudo systemctl restart vsftpd
    

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

0
看了该问题的人还看了