解決Debian下vsftpd連接問題可按以下步驟排查:
檢查服務狀態
sudo systemctl status vsftpd # 確保服務運行,未運行則啟動
sudo systemctl start vsftpd
sudo systemctl enable vsftpd # 設置開機自啟
驗證配置文件
編輯 /etc/vsftpd.conf
,確保關鍵參數正確:
local_enable=YES
write_enable=YES
pasv_enable=YES
,并設置pasv_min_port
/pasv_max_port
sudo systemctl restart vsftpd
處理防火墻與端口
sudo ufw allow 21/tcp
(默認FTP端口)排查用戶權限
sudo chown -R ftpuser:ftpuser /home/ftpuser
,sudo chmod -R 755 /home/ftpuser
/etc/vsftpd.conf
中chroot_local_user
是否限制用戶目錄查看日志定位問題
sudo tail -f /var/log/vsftpd.log # 實時查看錯誤日志
grep "500 OOPS" /var/log/vsftpd.log # 常見錯誤如權限不足、SELinux限制等
常見日志錯誤及解決:
500 OOPS: vsftpd: refusing to run with writable anonymous root
:設置匿名用戶目錄權限為755。530 Login incorrect
:檢查用戶名密碼、/etc/vsftpd/ftpusers
文件或PAM配置。其他高級問題
sudo setenforce 0
,或調整策略允許FTP訪問。sudo netstat -tuln | grep 21
檢查端口占用,修改listen_port
配置。參考來源:[1,2,3,4,5,6,7,8,9,10,11]