debian

vsftp在debian上的虚拟用户设置

小樊
36
2025-04-20 02:24:29
栏目: 云计算

在Debian上设置VSFTPD的虚拟用户需要以下几个步骤:

  1. 安装VSFTPD:
sudo apt-get update
sudo apt-get install vsftpd
  1. 创建一个新用户,用于虚拟用户登录:
sudo adduser --system --group --disabled-login --no-create-home --home /var/www/vhosts/virtual_ftp virtual_user

这将创建一个名为virtual_user的系统用户,该用户不能登录,没有主目录。

  1. 为虚拟用户创建一个密码文件。首先,确保已安装db-util软件包:
sudo apt-get install db-util

然后,使用以下命令创建一个名为.db的文件,其中包含虚拟用户的用户名和密码:

sudo touch /etc/vsftpd/virtual_users.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

接下来,使用文本编辑器(如nano)创建一个CSV文件,其中包含虚拟用户的用户名和密码:

sudo nano /etc/vsftpd/virtual_users.csv

在CSV文件中添加以下内容,用您选择的用户名和密码替换your_usernameyour_password

your_username,your_password

保存并关闭文件。

  1. 使用db_load命令将CSV文件导入到数据库中:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.csv /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
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
userlist_enable=YES
tcp_wrappers=YES
pam_service_name=vsftpd
guest_enable=YES
guest_username=virtual_user
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/var/www/vhosts/$USER
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

这些设置将启用虚拟用户,并将它们限制在其主目录中。您还可以根据需要自定义其他选项。

  1. 创建虚拟用户的根目录:
sudo mkdir -p /var/www/vhosts/virtual_ftp
  1. 重启VSFTPD服务以应用更改:
sudo systemctl restart vsftpd

现在,您应该能够使用在/etc/vsftpd/virtual_users.csv文件中定义的虚拟用户名和密码登录到FTP服务器。

0
看了该问题的人还看了