解决CentOS上VSFTP连接问题可按以下步骤操作:
sudo systemctl status vsftpd
,未启动则执行 sudo systemctl start vsftpd
。/etc/vsftpd/vsftpd.conf
,确认以下关键配置:
anonymous_enable=NO
(禁止匿名登录)。chroot_local_user=YES
(限制用户主目录)。pasv_enable=YES
(启用被动模式,需设置端口范围如 pasv_min_port=10060 pasv_max_port=10070
)。sudo systemctl restart vsftpd
。sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd --permanent --zone=public --add-port=10060-10070/tcp
(根据实际配置调整)。sudo firewall-cmd --reload
。sudo setenforce 0
。/etc/selinux/config
,将 SELINUX=enforcing
改为 SELINUX=permissive
或 disabled
。sudo setsebool -P ftp_home_dir on
。sudo chown -R ftpuser:ftpuser /path/to/ftpdir
,sudo chmod -R 755 /path/to/ftpdir
。local_root
或 chroot
路径是否正确。/var/log/vsftpd.log
或 /var/log/secure
,定位错误信息(如认证失败、端口占用等)。常见问题及对应解决:
local_enable=YES
且PAM配置无误。write_enable=YES
,用户目录可写,且SELinux未阻止操作。若问题仍未解决,可参考官方文档或社区论坛进一步排查。