在 Ubuntu 上搭建 FTP 服务器(常见为 vsftpd),日志配置主要有以下几种方式和实践。下面以 vsftpd 为例说明(最常见)。
sudo apt update
sudo apt install vsftpd
sudo nano /etc/vsftpd.conf
添加或修改以下内容:
# 启用上传/下载日志
xferlog_enable=YES
# 使用标准 xferlog 格式
xferlog_std_format=YES
# 日志文件路径(默认)
xferlog_file=/var/log/vsftpd.log
# 详细操作日志(推荐开启)
log_ftp_protocol=YES
# 双写日志(syslog + 文件)
syslog_enable=NO
✅
log_ftp_protocol=YES会记录每一个 FTP 命令,非常详细
| 类型 | 路径 |
|---|---|
| 传输日志 | /var/log/vsftpd.log |
| 系统日志 | /var/log/syslog |
| 认证日志 | /var/log/auth.log |
查看日志:
tail -f /var/log/vsftpd.log
如果你想用系统日志统一管理:
syslog_enable=YES
日志会出现在:
/var/log/syslog
过滤查看:
grep vsftpd /var/log/syslog
Ubuntu 默认有 vsftpd 的 logrotate 配置:
/etc/logrotate.d/vsftpd
示例内容:
/var/log/vsftpd.log {
weekly
rotate 4
compress
missingok
notifempty
}
手动测试:
sudo logrotate -f /etc/logrotate.d/vsftpd
grep ftp /var/log/auth.log
cat /var/log/vsftpd.log
示例:
Mon Jan 01 10:00:00 2024 1 192.168.1.10 1024 /test.txt b _ o r user ftp 0 *
xferlog_enable=YESsudo systemctl restart vsftpd
ls -l /var/log/vsftpd.log
ftp 或 nobody 运行sudo apt install proftpd
日志:
/var/log/proftpd/proftpd.log
sudo apt install pure-ftpd
/var/log/syslog
如果你愿意,我可以:
告诉我你用的 FTP 软件和需求即可。