我是一个小型Debian Lenny服务器的管理员,我遇到了这个问题:有时,当用户的SSH会话关闭时,该条目不会从/ var / run / utmp中删除,导致手指发出此类消息:
grawity@sine ~$finger finger: /dev//pts/31: No such file or directory Login Name Tty Idle Login Time Office Office Phone user1 (user) pts/1 1d Jul 15 19:12 (foo.uk) user2 (another user) pts/33 6:25 Jul 13 12:02 (bar:S.1) user2 (another user) *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) Segmentation fault grawity@sine ~$_
……有时甚至是一两个段落.一旦utmp甚至有两个条目指向相同的tty(但属于不同的用户).
任何想法为什么会这样?
到目前为止,我设法修复utmp(使用一些用于擦除Unix日志的实用程序:>),但这显然不是解决方案,而不是每天都发生的情况.
解决方法
手指分割确实不是一个好兆头.我至少会粗略地检查一下;至少运行chkrootkit和debsums例如.第二,你有没有试过通过rm或echo -n>完全清除utmp? utmp的?它可能以某种微妙的方式被破坏.
最后,您是否在/etc/pam.d中对PAM设置做了什么?这很容易导致注销无法记录.