解决CentOS上VSFTP连接问题可按以下步骤操作:
检查服务状态:确保vsftpd服务已启动并运行
sudo systemctl status vsftpd
sudo systemctl start vsftpd # 若未启动
验证配置文件:
/etc/vsftpd/vsftpd.conf
,确认关键参数:anonymous_enable=NO
(禁用匿名登录)local_enable=YES
(允许本地用户登录)chroot_local_user=YES
(限制用户主目录)pasv_enable=YES
(启用被动模式,需设置端口范围如pasv_min_port=10060 pasv_max_port=10070
)sudo vsftpd -t
配置防火墙:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=10060-10070/tcp # 若使用被动模式
sudo firewall-cmd --reload
处理SELinux限制:
sudo setsebool -P ftpd_disable_trans 1
sudo setsebool -P ftp_home_dir on
/etc/selinux/config
,将SELINUX=enforcing
改为disabled
,重启服务器。检查用户权限与目录:
sudo useradd -d /path/to/ftpdir ftpuser
sudo chown -R ftpuser:ftpuser /path/to/ftpdir
sudo chmod -R 755 /path/to/ftpdir
测试连接:
查看日志排查:
/var/log/vsftpd.log
或/var/log/secure
,定位具体错误(如权限不足、端口冲突等)。常见错误及解决:
/etc/vsftpd.conf
中的userlist_enable
配置。ping
服务器IP)及端口是否开放。