/var/log/btmp 是应该包含所有错误登录尝试的文件(至少在 Fedora 上是这样的)。在我的 Debian GNU/Linux 5.0 服务器上,它是空的。权限最初是:
-rw-rw---- 1 root utmp 0 Jul 1 06:25 /var/log/btmp
但我把它们改成了:
-rw------- 1 root root 0 Jul 1 06:25 /var/log/btmp
但那也没用。我仍然没有在 btmp 中看到任何东西(是的,我正在创建错误的登录尝试来测试它)。
我在 Google 上想尽了办法,但还是找不到解决办法。有什么好主意吗?
答案1
我认为这是 openssh 的问题。我在 Ubuntu 系统上测试了这个问题,错误的 ssh 登录尝试会被记录到 ,/var/log/auth.log
但不会记录到btmp
。在控制台上,错误的登录尝试会记录到btmp
。
在 Google 搜索中,我看到了可追溯到 2006 年至 2007 年的有关该事件的报道。
答案2
一定要尝试生成大量不同类型的失败登录尝试。尝试从 X(gdm 或 kdm 或 xdm)、尝试从控制台、尝试从 ssh、尝试从 sudo 和尝试从 su。不同的子系统可以(并且将)以不同的方式配置。将 ssh 配置为使用内部登录命令来绕过 /var/log/btmp 业务的情况并不少见。last
也尝试该命令。
您可以查看 /var/log/secure,看看您的失败登录尝试是否存储在那里。但是,恐怕我不知道 Debian 日志目录的结构。尝试tail -f logfile
/var/log 目录中的任何内容。很可能 ssh 正在某个地方记录某些内容。