CentOS系统中VSFTP的故障排查
CentOS系统VSFTP故障排查步骤
-
检查服务状态
sudo systemctl status vsftpd # 查看服务是否运行 sudo systemctl start vsftpd # 启动服务
-
查看日志文件
sudo journalctl -xeu vsftpd.service # 查看详细错误日志 sudo tail -n 50 /var/log/vsftpd.log # 查看日志文件(部分系统路径可能不同)
-
检查配置文件
sudo vsftpd -t /etc/vsftpd/vsftpd.conf # 检查语法错误 sudo nano /etc/vsftpd/vsftpd.conf # 确保关键参数正确(如listen、local_enable等)
-
验证用户权限
- 确保用户主目录存在且权限正确:
sudo chown -R ftpuser:ftpuser /home/ftpuser # 修改属主 sudo chmod -R 755 /home/ftpuser # 设置权限
- 检查是否在
/etc/vsftpd/ftpusers
或/etc/ftpusers
中被限制。
- 确保用户主目录存在且权限正确:
-
处理防火墙与端口
- 开放FTP端口(默认21,被动模式需额外端口):
sudo firewall-cmd --permanent --add-port=21/tcp # firewalld sudo firewall-cmd --reload
- 检查端口是否被占用:
sudo netstat -tuln | grep 21 # 若被占用需修改配置文件端口
- 开放FTP端口(默认21,被动模式需额外端口):
-
调整SELinux设置
- 临时允许FTP访问:
sudo setsebool -P ftp_home_dir on # 允许访问用户主目录 sudo setsebool -P ftpd_full_access on # 允许完全访问(如需上传)
- 若需彻底禁用SELinux(不推荐):
sudo setenforce 0 # 临时关闭 sudo nano /etc/selinux/config # 永久修改为SELINUX=disabled
- 临时允许FTP访问:
-
常见错误处理
- 530 Login incorrect:检查用户名密码、
/etc/vsftpd.conf
中local_enable
是否为YES
,或查看PAM配置。 - 553 Could not create file:确认用户主目录有写权限,且SELinux未限制。
- 500 OOPS: vsftpd: refusing to run:检查配置文件语法,确保
chroot_local_user
等参数正确。
- 530 Login incorrect:检查用户名密码、
-
重启服务验证
每次修改配置后,执行:sudo systemctl restart vsftpd sudo systemctl status vsftpd # 确认服务正常运行
参考来源
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!