以下是在Debian上配置FTP Server虚拟用户的步骤(以vsftpd为例):
安装vsftpd
sudo apt update && sudo apt install vsftpd
配置vsftpd主文件
编辑 /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 # 虚拟用户宿主用户
pam_service_name=vsftpd.virtual # 指定PAM配置文件
创建虚拟用户数据库
sudo mkdir -p /etc/vsftpd/virtual_users
sudo nano /etc/vsftpd/virtual_users/virtual_users.txt
# 格式:用户名 密码(明文)
user1 password1
user2 password2
sudo apt install db-util
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users/virtual_users.txt /etc/vsftpd/virtual_users/virtual_users.db
sudo chmod 600 /etc/vsftpd/virtual_users/virtual_users.db
配置PAM认证
编辑 /etc/pam.d/vsftpd.virtual
:
auth required pam_userdb.so db=/etc/vsftpd/virtual_users/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users/virtual_users
重启服务并测试
sudo systemctl restart vsftpd
# 使用FTP客户端(如FileZilla)连接,输入虚拟用户名密码测试
注意事项:
user_config_dir
为不同用户指定个性化配置(如独立根目录)。