在 Linux 上配置 FTP 服务器(常见如 vsftpd、ProFTPD、Pure-FTPd)时,需要从安全、权限、网络、日志几个方面注意。下面以 vsftpd(最常用) 为主说明,也补充通用要点。
FTP 有两类模式:
✅ 建议:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
并在防火墙放行:
anonymous_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES
⚠ 注意:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
FTP 默认明文密码
✅ 推荐方案:
FTPS 示例:
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ftp.pem
force_local_logins_ssl=YES
force_local_data_ssl=YES
常见问题:
解决:
setsebool -P ftpd_full_access on
或:
getsebool -a | grep ftp
firewall-cmd --add-port=21/tcp --permanent
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
开启日志:
xferlog_enable=YES
log_ftp_protocol=YES
查看:
tail -f /var/log/vsftpd.log
journalctl -u vsftpd
❌ 匿名用户能看系统文件
❌ chroot 后目录权限不对
❌ PASV 端口没开
❌ SELinux 没配置
❌ 用 root 登录 FTP(应禁止)
如果你告诉我:
我可以给你一份可直接用的配置文件。