以下是Ubuntu系統中vsftpd的故障排除方法:
檢查服務狀態
sudo systemctl status vsftpd # 查看服務是否運行
sudo systemctl start vsftpd # 啟動服務
sudo systemctl enable vsftpd # 設置開機自啟
檢查配置文件
編輯 /etc/vsftpd.conf
,確保關鍵配置正確(如 listen=YES
、local_enable=YES
、write_enable=YES
等),修改后重啟服務:
sudo nano /etc/vsftpd.conf
sudo systemctl restart vsftpd
檢查防火墻設置
確保允許FTP端口(默認21)及被動模式端口范圍(如50000-50050):
sudo ufw allow 21/tcp
sudo ufw allow 50000:50050/tcp
sudo ufw reload
查看系統日志
通過日志定位具體錯誤:
sudo journalctl -u vsftpd # 查看vsftpd服務日志
sudo tail -f /var/log/vsftpd.log # 查看詳細日志
處理權限問題
確保用戶主目錄及上傳目錄權限正確:
sudo chown -R ftpuser:ftpuser /home/ftpuser
sudo chmod -R 755 /home/ftpuser
檢查端口沖突
使用 netstat
或 ss
查看端口占用情況,避免與其他服務沖突:
sudo netstat -tuln | grep :21
調整SELinux策略(若啟用)
臨時禁用或配置允許FTP訪問:
sudo setenforce 0 # 臨時禁用
sudo setsebool -P ftpd_full_access on # 允許FTP訪問
測試客戶端連接
使用FTP工具(如FileZilla)測試連接,驗證配置是否生效。
若問題仍未解決,可根據日志中的具體錯誤信息進一步排查,或參考社區論壇的解決方案。