在 Debian 上配置 FTP 服务器(常见用 vsftpd 或 ProFTPD),下面给你一些实用技巧和避坑点,以最主流的 vsftpd 为例。
sudo apt update
sudo apt install vsftpd
配置文件位置:
/etc/vsftpd.conf
编辑 /etc/vsftpd.conf:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
说明:
很多连接问题都是被动模式没配好:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
然后在防火墙放行:
sudo ufw allow 20:21/tcp
sudo ufw allow 40000:40100/tcp
如果是云服务器,还要在安全组放行这些端口。
不要直接用 root 或常用账号:
sudo useradd -m ftpuser
sudo passwd ftpuser
sudo mkdir /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo usermod -s /usr/sbin/nologin ftpuser
确保 /etc/shells 包含:
/usr/sbin/nologin
开启日志:
xferlog_enable=YES
log_ftp_protocol=YES
查看日志:
sudo tail -f /var/log/vsftpd.log
常见错误:
500 OOPS: vsftpd: refusing to run with writable root inside chroot
→ 加 allow_writeable_chroot=YES✅ 生产环境优先用 SFTP(SSH)而不是 FTP
sftp user@server_ip
更安全、无需额外端口。
✅ 如果必须用 FTP,考虑:
如果你愿意,我可以:
你打算用在什么场景?(内网 / 公网 / 网站上传)