ubuntu

vsftp在Ubuntu上的虚拟用户设置

小樊
46
2025-07-11 11:47:17
栏目: 云计算

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

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

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

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

在文件顶部添加以下行:

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

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

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/virtual/$USER
  1. 重启VSFTPD服务以应用更改:
sudo systemctl restart vsftpd

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

0
看了该问题的人还看了