空的 /var/log/btmp 文件 - 发生错误登录时不会填充

空的 /var/log/btmp 文件 - 发生错误登录时不会填充

我在运行 Debian 7.0 64 位的 VPS 上。我的问题是,所有失败的 SSH 连接尝试都没有出现在我的 /var/log/btmp 文件中。因此,当我执行以下操作时:

sudo lastb

它(仅)打印给我:

btmp begins Tue Jul 28 18:32:30 2015

这里你获得了/var/log/btmp的权限

-rw-rw---- 1 root utmp 1 Jul  2 21:27 /var/log/btmp

供您参考,/var/log/wtmp 是正确的,并且“last”命令可以正常工作。

答案1

我见过几起被黑客入侵的机器属性被修改,导致日志无法写入的案例。请发布 lsattr /var/log/btmp 的输出,以确保它不是不可改变的。

答案2

我今天在 Centos 7 服务器上遇到了这个问题。/var/log/btmp 在最后一次日志轮换后保持为空。Aide(来自 eponym 包)为我指明了正确的方向:

File: /var/log/btmp
 SELinux  : system_u:object_r:faillog_t:s0   , system_u:object_r:var_log_t:s0

检查:

ls -Z /var/log/*tmp*
-rw-------. root utmp system_u:object_r:var_log_t:s0   /var/log/btmp
-rw-------. root utmp system_u:object_r:faillog_t:s0   /var/log/btmp-20200501
-rw-rw-r--. root utmp system_u:object_r:wtmp_t:s0      /var/log/wtmp

在 restorecon 之后,btmp 再次增长。

restorecon -v /var/log/btmp
restorecon reset /var/log/btmp context system_u:object_r:var_log_t:s0->system_u:object_r:faillog_t:s0

相关内容