解决CentOS中VSFTP连接问题可按以下步骤操作:
检查服务状态
确保vsftpd服务已启动并开机自启:
sudo systemctl start vsftpd sudo systemctl enable vsftpd sudo systemctl status vsftpd # 查看状态 配置防火墙
开放FTP默认端口(21)及被动模式端口(若配置):
sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-port=10060-10070/tcp # 示例被动模式端口范围 sudo firewall-cmd --reload 调整SELinux设置
sudo setenforce 0 sudo setsebool -P ftp_home_dir on sudo setsebool -P ftpd_disable_trans 1 # 若需chroot功能 验证配置文件
检查/etc/vsftpd/vsftpd.conf关键参数:
anonymous_enable=NO # 禁止匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 允许上传文件 chroot_local_user=YES # 限制用户访问主目录 pasv_enable=YES # 启用被动模式(需配置端口范围) 修改后重启服务并测试配置语法:
sudo vsftpd -t # 测试配置是否正确 sudo systemctl restart vsftpd 检查用户权限与目录
sudo useradd -d /data/ftp/user ftpuser sudo chown -R ftpuser:ftpuser /data/ftp/user sudo chmod 755 /data/ftp/user 查看日志排查
分析/var/log/vsftpd.log或/var/log/messages,定位连接失败的具体原因(如认证失败、端口被拒等)。
常见问题解决:
/etc/pam.d/vsftpd配置。chmod 755)或修改SELinux策略。按以上步骤操作后,多数连接问题可解决。若仍无法连接,建议结合日志进一步分析。