1. 確定FTP服務器日志文件位置
Debian系統中,FTP服務器日志路徑取決于所用軟件(如vsftpd、ProFTPD)。常見默認路徑為:
/var/log/vsftpd.log
(部分配置可能使用/var/log/xferlog
);/var/log/proftpd.log
;/var/log/pure-ftpd.log
。/etc/vsftpd/vsftpd.conf
中搜索logfile
關鍵字)。2. 基礎日志查看命令
cat
(一次性輸出全部內容)、less
(分頁瀏覽,按q
退出)或tail
(查看最后N行,如tail -n 50
查看最后50行);tail -f
命令,可實時跟蹤FTP服務器最新活動(如用戶登錄、文件傳輸),按Ctrl+C
退出。3. 常用日志過濾與分析技巧
grep
命令篩選某用戶的操作記錄(如grep 'username' /var/log/vsftpd.log
);grep -E 'Failed password|Login incorrect|invalid user' /var/log/vsftpd.log
);awk
提取用戶名并計數(如awk '/username/ {count++} END {print count}' /var/log/vsftpd.log
);awk '{print $5}' /var/log/vsftpd.log | sort | uniq -c | sort -nr
);awk
或sed
過濾時間戳(如awk '/2025-10-07/ {print $0}' /var/log/vsftpd.log
或sed -n '/2025-10-07 00:00:00/,/2025-10-07 23:59:59/p' /var/log/vsftpd.log
)。4. 高級日志分析工具
/etc/logwatch/conf/services/ftp.conf
即可使用;5. 日志輪轉配置(避免日志過大)
Debian系統默認使用logrotate
工具管理日志輪轉??赏ㄟ^編輯/etc/logrotate.d/vsftpd
文件(若不存在則創建)配置輪轉規則,示例配置如下:
/var/log/vsftpd.log {
weekly # 每周輪轉一次
rotate 4 # 保留最近4個日志文件
compress # 壓縮舊日志(節省空間)
missingok # 若日志不存在也不報錯
notifempty # 若日志為空則不輪轉
create 640 root adm # 創建新日志文件并設置權限
sharedscripts # 所有日志輪轉完成后執行腳本
postrotate
systemctl reload vsftpd > /dev/null 2>&1 || true
endscript
}
此配置會每周輪轉vsftpd.log
,保留最近4周的壓縮日志,并在輪轉后重新加載vsftpd服務。