旧的 utmp 条目

use*_*686 5 linux ssh log-files

我是一个小型 Debian Lenny 服务器的管理员,我遇到了这个问题:有时,当用户的 SSH 会话关闭时,条目不会从 中删除/var/run/utmp,从而导致以下消息finger

grawity@sine ~$ 手指
手指:/dev//pts/31:没有那个文件或目录
登录名 Tty 空闲登录时间 办公电话
user1 (user) pts/1 1d Jul 15 19:12 (foo.uk)
user2 (另一个用户) pts/33 6:25 Jul 13 12:02 (bar:S.1)
user2(另一个用户)*pts/34 6:31 Jul 13 17:00 (bar:S.0)
grawity (me) pts/25 Jul 17 11:57 (78-​​56-197-6:S.0)
grawity (me) pts/27 Jul 17 11:57 (78-​​56-197-6.static.zebra.lt)
分段故障
重力@sine ~$ _

...有时甚至是一两个段错误。曾经 utmp 甚至有两个条目指向同一个 tty(但属于不同的用户)。

任何想法为什么会发生这种情况?

到目前为止,我设法修复了 utmp(使用一些专为擦除 Unix 日志而设计的实用程序 :> ),但这显然不是解决方案,而不是每天都发生的情况。

编辑:这个问题不是关于记录消失(到目前为止我还没有看到) - 它是相反的:登录会话关闭时记录不会被删除。

der*_*ert 2

手指段错误确实不是一个好兆头。我至少会粗略地检查一下是否有人闯入;例如,至少运行 chkrootkit 和 debsums。其次,您是否尝试过通过 rm 或 echo -n > utmp 完全清除 utmp ?它可能会以某种微妙的方式被破坏。

最后,您是否对 /etc/pam.d 中的 PAM 设置做了任何操作?这很容易导致注销不被记录。