在 Debian 上搭建 FTPS(FTP over SSL/TLS) 并添加用户,常见做法是使用 vsftpd + 系统用户/虚拟用户。下面给你两种常用方案。
sudo apt update
sudo apt install vsftpd
编辑配置文件:
sudo nano /etc/vsftpd.conf
确保包含以下内容:
listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
pasv_min_port=40000
pasv_max_port=50000
生产环境建议用正式证书(Let’s Encrypt)
重启服务:
sudo systemctl restart vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
限制只能 FTP(不能 SSH 登录):
sudo usermod -s /usr/sbin/nologin ftpuser
(如不存在 nologin)
which nologin
sudo chown ftpuser:ftpuser /home/ftpuser
sudo chmod 755 /home/ftpuser
sudo ufw allow 21
sudo ufw allow 40000:50000/tcp
sudo apt install vsftpd libpam-pwdfile
sudo mkdir /etc/vsftpd
sudo htpasswd -c -b /etc/vsftpd/virtual_users ftpuser password123
(再加用户去掉 -c)
sudo nano /etc/pam.d/vsftpd
清空后写入:
auth required pam_pwdfile.so pwdfile=/etc/vsftpd/virtual_users
account required pam_permit.so
guest_enable=YES
guest_username=ftp
user_sub_token=$USER
local_root=/home/ftp/$USER
chroot_local_user=YES
allow_writeable_chroot=YES
sudo mkdir -p /home/ftp/ftpuser
sudo chown -R ftp:ftp /home/ftp/ftpuser
如果你告诉我:
我可以直接帮你写一份完整配置。