在 Debian 上搭建 FTP 服务并添加用户,常见做法有两种:系统用户 + vsftpd 或 虚拟用户(更推荐用于 FTP 专用账号)。下面按最常用的 vsftpd + 系统用户 和 vsftpd + 虚拟用户 两种方式说明。
sudo apt update
sudo apt install vsftpd
sudo adduser ftpuser
按提示设置密码和家目录(如 /home/ftpuser)。
sudo usermod -s /usr/sbin/nologin ftpuser
编辑配置文件:
sudo nano /etc/vsftpd.conf
确保有以下内容:
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
sudo systemctl restart vsftpd
此时用 ftpuser 和密码即可登录 FTP。
sudo apt install vsftpd libpam-pwdfile
sudo mkdir /etc/vsftpd
sudo nano /etc/vsftpd/virtual_users.txt
内容格式:
ftpuser1
password1
ftpuser2
password2
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
sudo nano /etc/pam.d/vsftpd
内容改为:
auth required pam_pwdfile.so pwdfile=/etc/vsftpd/virtual_users.db
account required pam_permit.so
sudo useradd -d /home/ftproot -s /usr/sbin/nologin ftpvuser
sudo mkdir -p /home/ftproot
sudo chown ftpvuser:ftpvuser /home/ftproot
anonymous_enable=NO
local_enable=YES
write_enable=YES
guest_enable=YES
guest_username=ftpvuser
virtual_use_local_privs=YES
chroot_local_user=YES
allow_writeable_chroot=YES
sudo systemctl restart vsftpd
如果启用了防火墙:
sudo ufw allow 21/tcp
allow_writeable_chroot=YESwrite_enable=YES 和目录权限如果你告诉我:
我可以给你更精确的配置。