解決Ubuntu上VSFTPD連接問題可按以下步驟操作:
檢查服務狀態
sudo systemctl status vsftpd
若未運行,啟動服務:
sudo systemctl start vsftpd
檢查防火墻設置
確保允許FTP端口(默認21):
sudo ufw allow 21/tcp
sudo ufw reload
若使用被動模式,需開放被動端口范圍(如40000-50000)。
驗證配置文件
編輯 /etc/vsftpd.conf
,確認關鍵參數:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
修改后重啟服務:
sudo systemctl restart vsftpd
檢查端口占用
sudo netstat -tuln | grep 21
若端口被占用,修改 listen_port
并更新防火墻。
排查權限問題
確保FTP用戶對目標目錄有寫權限:
sudo chown -R ftpuser:ftpuser /path/to/directory
sudo chmod -R 755 /path/to/directory
處理SELinux限制(若啟用)
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
查看日志定位問題
sudo tail -f /var/log/vsftpd.log
根據日志中的錯誤信息進一步排查。
常見場景:
write_enable=YES
且目錄權限正確。