解决CentOS与VSFTP的连接问题,可按以下步骤操作:
安装VSFTP
sudo yum install vsftpd -y
配置关键参数
编辑配置文件 /etc/vsftpd/vsftpd.conf
,确保以下设置:
anonymous_enable=NO
:禁止匿名登录。local_enable=YES
:允许本地用户登录。chroot_local_user=YES
:限制用户仅能访问主目录。pasv_enable=YES
:启用被动模式(需设置端口范围,如pasv_min_port=10060
、pasv_max_port=10070
)。设置用户权限
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
配置防火墙
若使用firewalld
,开放FTP端口及被动模式端口范围:
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=10060-10070/tcp # 需与配置文件中的被动模式端口一致
sudo firewall-cmd --reload
处理SELinux问题
sudo setsebool -P ftp_home_dir 1
sudo setsebool -P allow_ftpd_full_access 1
/etc/selinux/config
,将SELINUX=enforcing
改为disabled
并重启服务器。重启服务并测试
sudo systemctl restart vsftpd
使用FTP客户端(如FileZilla)连接,选择被动模式,输入服务器IP、用户名和密码测试连接。
常见问题及解决:
/etc/ftpusers
黑名单。ping
和netstat
检查)。755
,且SELinux未阻止访问。参考来源:[1,2,3,4,5,6,7,8,9,10,11]