在Debian系统上配置vsftpd以使用虚拟用户需要几个步骤。以下是一个基本的指南:
安装vsftpd: 首先,确保你已经安装了vsftpd。如果没有安装,可以使用以下命令安装:
sudo apt update
sudo apt install vsftpd
创建虚拟用户数据库:
vsftpd使用一个数据库来存储虚拟用户的信息。你可以使用db_load
工具来创建这个数据库。
创建一个文件来存储用户名和密码,例如/etc/vsftpd/virtusers.txt
:
sudo nano /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
创建PAM配置文件: PAM(Pluggable Authentication Modules)用于验证用户身份。你需要创建一个PAM配置文件来告诉vsftpd如何验证虚拟用户。
/etc/pam.d/vsftpd-virt
:sudo nano /etc/pam.d/vsftpd-virt
auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers
配置vsftpd:
编辑vsftpd的配置文件/etc/vsftpd.conf
以启用虚拟用户并使用PAM进行身份验证。
sudo nano /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftpuser
user_sub_token=$USER
local_root=/home/$USER
pam_service_name=vsftpd-virt
创建系统用户:
为了使chroot环境正常工作,你需要创建一个系统用户ftpuser
,并将其主目录设置为虚拟用户的根目录。
sudo adduser --system --no-create-home --group ftpuser
设置目录权限: 确保虚拟用户的根目录存在并且权限正确。
sudo mkdir -p /home/virtuser
sudo chown ftpuser:ftpuser /home/virtuser
重启vsftpd服务: 最后,重启vsftpd服务以应用所有更改:
sudo systemctl restart vsftpd
完成这些步骤后,你应该能够使用虚拟用户登录到vsftpd服务器。请确保防火墙允许FTP流量(默认端口21)。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:Debian下vsftp虚拟用户如何配置