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