在查看日志前,需確保VSFTP的日志記錄功能已啟用。編輯配置文件/etc/vsftpd/vsftpd.conf
,修改以下參數:
xferlog_enable=YES
(開啟傳輸日志);xferlog_file=/var/log/vsftpd/xferlog
(默認日志文件路徑);xferlog_std_format=YES
(使用標準xferlog格式,便于解析)。sudo systemctl restart vsftpd
。使用tail -f
命令可實時跟蹤日志文件的新增內容,適合監控實時傳輸或錯誤信息:
sudo tail -f /var/log/vsftpd/xferlog
按Ctrl+C
退出實時查看模式。
若需查看完整日志內容,可使用less
(支持上下翻頁、搜索)或more
(逐頁顯示)命令:
sudo less /var/log/vsftpd/xferlog # 按上下箭頭翻頁,/關鍵詞搜索,q退出
sudo more /var/log/vsftpd/xferlog # 按空格鍵翻頁,q退出
若需查找特定事件(如某用戶的登錄記錄、傳輸失敗信息),可使用grep
命令過濾日志:
sudo grep "username" /var/log/vsftpd/xferlog # 查找指定用戶的日志
sudo grep "failed" /var/log/vsftpd/xferlog # 查找傳輸失敗的記錄
若系統使用systemd
管理服務,可通過journalctl
查看VSFTP服務的系統日志(包含服務啟動、停止及錯誤信息):
sudo journalctl -u vsftpd.service -f # 實時查看vsftpd服務日志
sudo journalctl -u vsftpd.service # 查看歷史日志(需指定時間范圍,如--since "2025-10-01")
為防止日志文件過大占用磁盤空間,需配置日志輪轉。編輯/etc/logrotate.d/vsftpd
文件,添加以下內容:
/var/log/vsftpd/xferlog {
daily # 每天輪轉一次
missingok # 若日志文件不存在也不報錯
rotate 7 # 保留最近7天的日志
compress # 壓縮舊日志(節省空間)
notifempty # 若日志為空則不輪轉
create 640 ftp adm # 創建新日志文件時設置權限(所有者:ftp,組:adm)
}
保存后,logrotate
會自動按配置執行輪轉(默認每天執行一次)。
sudo
執行命令;grep xferlog_file /etc/vsftpd/vsftpd.conf
命令查找實際路徑;xferlog
格式的日志條目包含時間、傳輸類型(上傳/下載)、文件大小、用戶名等信息,便于后續分析。