网络知识
vsftp在Ubuntu上的虚拟用户设置
2025-07-12 15:58  点击:7

在Ubuntu上设置VSFTPD虚拟用户需要执行以下步骤:

    安装VSFTPD:
sudo apt-get updatesudo apt-get install vsftpd
    创建一个新的用户组(可选):
sudo groupadd ftpusers
    创建一个新的系统用户,用作FTP虚拟用户的映射:
sudo adduser --system --group --no-create-home --disabled-login --gecos "" ftpuser
    为虚拟用户创建一个主目录:
sudo mkdir /home/virtual
    更改主目录的所有者和组:
sudo chown ftpuser:ftpusers /home/virtual
    创建一个密码文件,用于存储虚拟用户的用户名和密码:
sudo touch /etc/vsftpd/virtual_users.txt
    使用文本编辑器打开密码文件,并添加虚拟用户的用户名和密码:
sudo nano /etc/vsftpd/virtual_users.txt

在文件中添加以下内容,然后保存并关闭文件:

virtualuser1your_passwordvirtualuser2your_password
    安装db-util,用于生成虚拟用户数据库:
sudo apt-get install db-util
    生成虚拟用户数据库:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    修改/etc/pam.d/vsftpd文件,启用PAM认证:
sudo nano /etc/pam.d/vsftpd

在文件顶部添加以下行:

auth required pam_userdb.so db=/etc/vsftpd/virtual_usersaccount required pam_userdb.so db=/etc/vsftpd/virtual_users
    修改/etc/vsftpd.conf文件,启用虚拟用户并配置相关选项:
sudo nano /etc/vsftpd.conf

确保以下设置已启用或添加到文件中:

listen=YESanonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESallow_writeable_chroot=YESguest_enable=YESguest_username=ftpuservirtual_use_local_privs=YESuser_sub_token=$USERlocal_root=/home/virtual/$USER
    重启VSFTPD服务以应用更改:
sudo systemctl restart vsftpd

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