在查看日志前,需确保vsftpd已启用日志记录。编辑配置文件/etc/vsftpd.conf,检查以下关键参数:
xferlog_enable=YES:启用上传/下载日志记录;xferlog_file=/var/log/vsftpd.log:指定日志文件路径(默认路径);dual_log_enable=YES(可选):启用双份日志(同时记录到xferlog和vsftpd.log);xferlog_std_format=YES(可选):使用标准xferlog格式(便于工具分析)。sudo systemctl restart vsftpd。若配置正确,vsftpd的主日志通常位于/var/log/vsftpd.log。可使用以下命令查看:
sudo tail -f /var/log/vsftpd.log;sudo less /var/log/vsftpd.log;sudo cat /var/log/vsftpd.log。若vsftpd以systemd服务运行(Debian默认),可使用journalctl命令查看服务日志:
sudo journalctl -u vsftpd.service -f;sudo journalctl -u vsftpd.service -n 10;sudo journalctl -u vsftpd.service | grep "started\|stopped"。vsftpd的用户认证日志(如登录成功/失败)通常记录在/var/log/auth.log中。可通过grep命令过滤:
sudo grep "vsftpd.*authentication" /var/log/auth.log;sudo grep "vsftpd.*invalid user" /var/log/auth.log;sudo grep "vsftpd.*session opened" /var/log/auth.log。为防止日志文件占用过多磁盘空间,需配置日志轮转。编辑/etc/logrotate.d/vsftpd文件,添加以下内容:
/var/log/vsftpd.log {
daily # 每天轮转
missingok # 若日志不存在也不报错
rotate 7 # 保留最近7天的日志
compress # 压缩旧日志(节省空间)
notifempty # 若日志为空则不轮转
create 640 root adm # 创建新日志时的权限和所有者
}
配置后,系统会自动按规则轮转日志。
sudo grep "Accepted" /var/log/auth.log | wc -l;sudo grep "invalid user" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr;Logwatch(自动化报告)或ELK Stack(可视化分析)进一步挖掘日志价值。通过以上方法,可全面查看和分析Debian下vsftpd的日志,及时发现异常行为并保障服务器安全。