centos

centos中vsftp故障排查

小樊
44
2025-09-03 15:52:44
栏目: 智能运维

CentOS中vsFTP故障排查步骤

  1. 检查服务状态

    systemctl status vsftpd  # 查看服务是否运行,未运行则启动  
    systemctl start vsftpd  
    systemctl enable vsftpd  # 设置开机自启  
    
  2. 查看日志文件

    • 主日志:/var/log/vsftpd.log
    • 系统日志:journalctl -xe/var/log/messages//var/log/secure
  3. 验证配置文件

    • 检查 /etc/vsftpd/vsftpd.conf 语法:
      vsftpd -t  # 测试配置文件正确性  
      
    • 关键配置项:
      • listen=YES(监听端口,默认21)
      • local_enable=YES(允许本地用户登录)
      • write_enable=YES(允许上传文件)
      • chroot_local_user=YES(限制用户主目录)
    • 修改后重启服务:systemctl restart vsftpd
  4. 排查端口与防火墙

    • 检查端口21是否被占用:
      netstat -tuln | grep :21  
      
      若被占用,修改配置文件中 listen_port 或停止冲突服务。
    • 开放防火墙端口:
      firewall-cmd --permanent --add-port=21/tcp  
      firewall-cmd --reload  
      
  5. 处理SELinux问题

    • 检查SELinux状态:
      getenforce  # 若为Enforcing,需调整策略  
      
    • 临时关闭SELinux测试:
      setenforce 0  
      
    • 永久允许FTP访问:
      setsebool -P ftp_home_dir on  
      setsebool -P allow_ftpd_full_access on  
      
  6. 确认用户权限

    • 确保用户主目录存在且权限正确:
      chown -R ftpuser:ftpuser /path/to/ftp/dir  
      chmod -R 755 /path/to/ftp/dir  
      
  7. 常见错误及解决

    • 530 Login incorrect:检查用户名密码、/etc/vsftpd.conflocal_enable 及PAM配置。
    • 553 Could not create file:确认用户主目录有写权限,且SELinux允许FTP写入。
    • 无法连接:检查防火墙、端口占用及网络连通性(ping/traceroute)。

提示:修改配置后需重启服务,优先通过日志定位具体错误原因。

0
看了该问题的人还看了