解决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策略。按以上步骤操作后,多数连接问题可解决。若仍无法连接,建议结合日志进一步分析。