温馨提示×

CentOS FTPServer怎么开日志

小樊
44
2026-08-04 03:44:59
栏目: 智能运维

CentOS 上开启 FTP 服务器日志,取决于你使用的是 vsftpd(最常见)还是 ProFTPD / Pure-FTPd。下面以 vsftpd 为主详细说明,其他也一并给你。


一、vsftpd(最常见)

1️⃣ 编辑 vsftpd 配置文件

vim /etc/vsftpd/vsftpd.conf

2️⃣ 开启日志相关参数

确保有以下配置(没有就加上):

# 启用上传/下载日志
xferlog_enable=YES

# 使用标准 xferlog 格式
xferlog_std_format=YES

# 日志文件路径(默认即可)
xferlog_file=/var/log/xferlog

# 启用 vsftpd 自身日志(推荐)
log_ftp_protocol=YES

⚠️ 注意:

  • log_ftp_protocol=YES 会记录非常详细的日志(包括命令),仅建议调试时开启
  • 生产环境可关闭这一项

3️⃣ 重启 vsftpd

systemctl restart vsftpd

4️⃣ 查看 FTP 日志

✅ 传输日志

tail -f /var/log/xferlog

示例:

Thu Aug 22 10:01:23 2024 1 192.168.1.10 102400 /home/ftp/test.txt b _ o r user ftp 0 * c

✅ 详细调试日志(如果开了 log_ftp_protocol)

tail -f /var/log/vsftpd.log

二、ProFTPD(如果你用的是它)

配置文件

vim /etc/proftpd.conf

启用日志:

TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log

重启:

systemctl restart proftpd

三、Pure-FTPd

启动参数方式

/usr/sbin/pure-ftpd -O clf:/var/log/pureftpd.log

或 systemd 修改启动参数。


四、SELinux 常见问题(CentOS 必看)

如果日志不生成,可能是 SELinux 限制:

getenforce

如果是 Enforcing,可临时测试:

setenforce 0

永久解决(推荐):

semanage fcontext -a -t ftpd_log_t "/var/log/vsftpd.log"
restorecon -v /var/log/vsftpd.log

五、防火墙 & 日志时间问题

  • 日志时间默认是 服务器时间
  • FTP 使用被动模式时注意防火墙放行端口

六、推荐生产配置(vsftpd)

xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
log_ftp_protocol=NO

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ FTP 软件(vsftpd / ProFTPD / Pure-FTPd)
  • ✅ 想记录 登录日志 / 上传下载 / 所有命令

我可以给你一份完全贴合你环境的配置

0