centos

CentOS系统中VSFTP的故障排查

小樊
55
2025-09-05 15:58:56
栏目: 智能运维

CentOS系统VSFTP故障排查步骤

  1. 检查服务状态

    sudo systemctl status vsftpd  # 查看服务是否运行
    sudo systemctl start vsftpd   # 启动服务
    
  2. 查看日志文件

    sudo journalctl -xeu vsftpd.service  # 查看详细错误日志
    sudo tail -n 50 /var/log/vsftpd.log  # 查看日志文件(部分系统路径可能不同)
    
  3. 检查配置文件

    sudo vsftpd -t /etc/vsftpd/vsftpd.conf  # 检查语法错误
    sudo nano /etc/vsftpd/vsftpd.conf      # 确保关键参数正确(如listen、local_enable等)
    
  4. 验证用户权限

    • 确保用户主目录存在且权限正确:
      sudo chown -R ftpuser:ftpuser /home/ftpuser  # 修改属主
      sudo chmod -R 755 /home/ftpuser              # 设置权限
      
    • 检查是否在/etc/vsftpd/ftpusers/etc/ftpusers中被限制。
  5. 处理防火墙与端口

    • 开放FTP端口(默认21,被动模式需额外端口):
      sudo firewall-cmd --permanent --add-port=21/tcp  # firewalld
      sudo firewall-cmd --reload
      
    • 检查端口是否被占用:
      sudo netstat -tuln | grep 21  # 若被占用需修改配置文件端口
      
  6. 调整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
      
  7. 常见错误处理

    • 530 Login incorrect:检查用户名密码、/etc/vsftpd.conflocal_enable是否为YES,或查看PAM配置。
    • 553 Could not create file:确认用户主目录有写权限,且SELinux未限制。
    • 500 OOPS: vsftpd: refusing to run:检查配置文件语法,确保chroot_local_user等参数正确。
  8. 重启服务验证
    每次修改配置后,执行:

    sudo systemctl restart vsftpd
    sudo systemctl status vsftpd  # 确认服务正常运行
    

参考来源

0
看了该问题的人还看了