centos

CentOS与VSFTP的连接问题解决

小樊
38
2025-09-09 16:16:53
栏目: 智能运维

解决CentOS与VSFTP的连接问题,可按以下步骤操作:

  1. 安装VSFTP

    sudo yum install vsftpd -y  
    
  2. 配置关键参数
    编辑配置文件 /etc/vsftpd/vsftpd.conf,确保以下设置:

    • anonymous_enable=NO:禁止匿名登录。
    • local_enable=YES:允许本地用户登录。
    • chroot_local_user=YES:限制用户仅能访问主目录。
    • pasv_enable=YES:启用被动模式(需设置端口范围,如pasv_min_port=10060pasv_max_port=10070)。
  3. 设置用户权限

    • 创建FTP用户并指定主目录:
      sudo useradd -d /data/ftp_user ftp_user  
      sudo passwd ftp_user  
      sudo chmod 755 /data/ftp_user  
      
    • 确保用户对主目录有读写权限:
      sudo chown ftp_user:ftp_user /data/ftp_user  
      
  4. 配置防火墙
    若使用firewalld,开放FTP端口及被动模式端口范围:

    sudo firewall-cmd --permanent --add-port=21/tcp  
    sudo firewall-cmd --permanent --add-port=10060-10070/tcp  # 需与配置文件中的被动模式端口一致  
    sudo firewall-cmd --reload  
    
  5. 处理SELinux问题

    • 临时允许FTP访问:
      sudo setsebool -P ftp_home_dir 1  
      sudo setsebool -P allow_ftpd_full_access 1  
      
    • 若需彻底禁用SELinux(不推荐),编辑/etc/selinux/config,将SELINUX=enforcing改为disabled并重启服务器。
  6. 重启服务并测试

    sudo systemctl restart vsftpd  
    

    使用FTP客户端(如FileZilla)连接,选择被动模式,输入服务器IP、用户名和密码测试连接。

常见问题及解决

参考来源:[1,2,3,4,5,6,7,8,9,10,11]

0
看了该问题的人还看了