温馨提示×

如何排查CentOS上VSFTP的故障

小樊
49
2025-09-09 16:20:54
栏目: 智能运维

排查CentOS上VSFTP故障可按以下步骤进行:

  1. 检查服务状态

    sudo systemctl status vsftpd  
    

    若未运行,启动服务:

    sudo systemctl start vsftpd  
    
  2. 查看日志文件
    分析错误信息,常见路径:

    • /var/log/vsftpd.log
    • /var/log/secure/var/log/messages
  3. 验证配置文件
    检查 /etc/vsftpd/vsftpd.conf 关键参数:

    • listen=YES(监听端口,默认21)
    • anonymous_enable=NO(禁用匿名登录)
    • local_enable=YES(允许本地用户登录)
    • write_enable=YES(允许上传)
    • chroot_local_user=YES(限制用户主目录)
      修改后重启服务:
    sudo systemctl restart vsftpd  
    
  4. 检查用户权限

    • 确保用户主目录存在且权限正确:
      sudo chown -R ftpuser:ftpuser /home/ftpuser  
      sudo chmod -R 755 /home/ftpuser  
      
    • 检查 /etc/vsftpd/ftpusers/etc/vsftpd/user_list,确保用户未被禁止登录。
  5. 配置防火墙
    开放FTP端口(默认21,被动模式需额外端口范围):

    sudo firewall-cmd --permanent --add-service=ftp  
    sudo firewall-cmd --reload  
    

    若使用iptables:

    sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT  
    sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT  
    
  6. 处理SELinux问题

    • 临时关闭SELinux:
      sudo setenforce 0  
      
    • 永久关闭或调整策略(如允许FTP访问主目录):
      sudo setsebool -P ftp_home_dir on  
      sudo setsebool -P allow_ftpd_full_access on  
      
  7. 排查网络与端口

    • 检查端口21是否被占用:
      sudo netstat -tuln | grep 21  
      
    • 若使用被动模式,确保 pasv_min_portpasv_max_port 在防火墙中开放。
  8. 常见错误处理

    • 530 Login incorrect:检查用户名密码、/etc/ftpusers 文件及PAM配置。
    • 553 Could not create file:确认用户主目录可写,调整SELinux策略。
    • 500 OOPS:检查配置文件语法、目录权限或临时关闭SELinux。

提示:每次修改配置后需重启服务,优先通过日志定位具体错误原因。若问题复杂,可参考VSFTP官方文档或社区论坛。

0