你说的“Debian FTP server 配虚拟”,一般是指 vsftpd 配置虚拟用户(Virtual Users),即:
下面给你一个 Debian + vsftpd 虚拟用户最常用、最稳妥的方案(文本文件版,适合入门和中小规模)。
sudo apt update
sudo apt install vsftpd
sudo mkdir /etc/vsftpd
sudo nano /etc/vsftpd/virtual_users.txt
内容格式(一行用户名,一行密码):
user1
password1
user2
password2
安装工具:
sudo apt install db-util
生成 db 文件:
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
sudo chmod 600 /etc/vsftpd/virtual_users.db
编辑 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
虚拟用户需要一个真实的系统用户来映射:
sudo useradd -d /home/ftp -s /usr/sbin/nologin ftpvuser
sudo mkdir /home/ftp
sudo chown ftpvuser:ftpvuser /home/ftp
sudo nano /etc/vsftpd.conf
核心配置示例:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=ftpvuser
pam_service_name=vsftpd
virtual_use_local_privs=YES
chroot_local_user=YES
allow_writeable_chroot=YES
user_sub_token=$USER
local_root=/home/ftp/$USER
pasv_min_port=30000
pasv_max_port=31000
sudo mkdir /home/ftp/user1
sudo chown ftpvuser:ftpvuser /home/ftp/user1
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
ftp localhost
或用 FileZilla:
一般是:
chroot 目录权限不对allow_writeable_chroot=YES防火墙放行:
sudo ufw allow 20:21/tcp
sudo ufw allow 30000:31000/tcp
如果你说的“虚拟”是指:
可以告诉我,我给你对应方案。