在查看日志前,需确保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格式的日志条目包含时间、传输类型(上传/下载)、文件大小、用户名等信息,便于后续分析。