解决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)及端口是否开放。