在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服务器。