解決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]