Linux 下配置 FTP 服务器(常见为 vsftpd,也有 proftpd、pure-ftpd)出错时,可以按下面思路一步步排查。
ps -ef | grep ftp
# 或
systemctl list-units | grep ftp
常见服务名:
vsftpd(最常用)proftpdpure-ftpd下面以 vsftpd 为主说明。
systemctl start vsftpd
报错或失败:
查看详细错误
systemctl status vsftpd -l
journalctl -xe
常见原因
netstat -tunlp | grep 21
vsftpd /etc/vsftpd/vsftpd.conf
(直接前台运行能看到具体错误行)
现象:530 Login incorrect
✅ 检查:
id ftpuser
local_enable=YES
userlist_enable=YES
userlist_deny=NO
cat /etc/pam.d/vsftpd
有时需注释掉:
# auth required pam_shells.so
现象:550 Permission denied
✅ 检查:
write_enable=YES
目录权限:
ls -ld /home/ftpuser
chmod 755 /home/ftpuser
chown ftpuser:ftpuser /home/ftpuser
如果是 chroot:
chroot_local_user=YES
allow_writeable_chroot=YES
防火墙
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
SELinux
getenforce
setsebool -P ftpd_full_access on
客户端能登录但列不出目录。
✅ 配置被动端口:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
firewall-cmd --add-port=30000-31000/tcp --permanent
你可以直接把下面信息贴出来:
我可以一步一步帮你改到能跑 ✅