debian

vsftp在Debian上的虚拟用户怎么设置

小樊
40
2025-04-26 03:56:44
栏目: 云计算

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

  1. 安装VSFTPD

首先,确保已经安装了VSFTPD。如果没有,请运行以下命令来安装:

sudo apt-get update
sudo apt-get install vsftpd
  1. 创建虚拟用户数据库

使用db_load命令创建一个虚拟用户数据库文件。首先,创建一个用于存储用户信息的文本文件,例如/etc/vsftpd/virtusers.txt,并添加用户名和密码,每行一个,格式如下:

username1
password1
username2
password2

然后,使用db_load命令将文本文件转换为数据库文件:

sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db
  1. 创建PAM配置文件

为了让VSFTPD使用虚拟用户数据库进行身份验证,需要创建一个PAM(Pluggable Authentication Modules)配置文件。创建一个名为/etc/pam.d/vsftpd-virtual的文件,并添加以下内容:

auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
  1. 修改VSFTPD配置文件

编辑VSFTPD的主配置文件/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-virtual
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/$USER

这里,我们启用了虚拟用户,并设置了虚拟用户的根目录为/home/$USER

  1. 创建虚拟用户的根目录

为每个虚拟用户创建一个根目录:

sudo mkdir -p /home/username1
sudo chown ftp:ftp /home/username1

username1替换为实际的用户名。

  1. 重启VSFTPD服务

最后,重启VSFTPD服务以应用更改:

sudo systemctl restart vsftpd

现在,您应该可以使用虚拟用户登录到FTP服务器了。

0
看了该问题的人还看了