下面给你一份**在 Debian 上配置 vsftpd(FTP 服务器)**的常用实用指南,从安装到常见配置、用户权限、被动模式等。
sudo apt update
sudo apt install vsftpd
安装完成后,服务一般会自启:
sudo systemctl status vsftpd
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
sudo nano /etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
⚠️ 如果不加
allow_writeable_chroot=YES,用户家目录可写时会登录失败
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
如果你有公网 IP(如云服务器):
pasv_address=你的公网IP
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
如果你在 云服务器,还需在安全组放行上述端口。
sudo useradd -m ftpuser
sudo passwd ftpuser
设置家目录权限(避免权限问题):
sudo chown ftpuser:ftpuser /home/ftpuser
sudo systemctl restart vsftpd
sudo tail -f /var/log/vsftpd.log
allow_writeable_chroot=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
然后在文件中加入允许的用户:
echo ftpuser | sudo tee -a /etc/vsftpd.userlist
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
如果你告诉我:
我可以给你一份更精确的配置模板。