如何查看登录历史记录?


105

是否可以查看登录历史记录,我的意思是查看是否有人在我不在的情况下使用过计算机以及何时使用过。
如果可能,我在哪里可以获得日志?
如果没有,是否有程序记录所有登录名及其时间?


25
last 在候机楼中尝试
suhailvs 2013年

或者,如果您要将其保存在文件中(例如userlogin.log),请使用last > userlogin.log
suhailvs 2013年

Answers:


112
/var/log/auth.log

它不仅包含普通登录(sudo调用等),还包含很多登录信息。它受到保护,因此您需要root用户才能读取它:

sudo less /var/log/auth.log

确切的命令以打印失败的登录历史记录:sudo grep 'authentication failure' /var/log/auth.log | grep -v "sudo"。输出行示例:Feb 19 14:35:02 comp-name-1 compiz: pam_unix(unity:auth): authentication failure; logname= uid=1001 euid=1001 tty= ruser= rhost= user=ld。打印成功登录历史记录的命令:sudo grep 'login keyring' /var/log/auth.log | grep -v "sudo"。输出行示例:Feb 18 07:17:58 comp-name-1 compiz: gkr-pam: unlocked login keyring。可能它仅显示上次重启后的登录信息。Sudo被排除在外,因为否则将列出我们自己的命令。
路加福音


19

要查看系统上所有帐户的最新登录信息,请尝试lastlog。有一些有用的选项,例如仅查看特定用户。


3
这告诉我,从来没有人登录过(这显然是错误的,因为我已经登录运行它了)
JoshB,2016年

1
我的lastlog输出也是错误的-我的两个用户都有条目(均为错误),而一个用户“从未登录”。
pbhj

仅供参考:在Ubuntu18上看起来还不错
DimiDak

8

如果您在笔记本电脑上,那么可以附加您的问题和oli的答案,然后您也可以通过grepping确切的内容来检查它,例如

sudo cat /var/log/auth.log | grep "Lid opened"

要么

sudo cat /var/log/auth.log | grep "Lid closed"

以及他/她是否通过sudo的许可进行任何类型的活动

sudo cat /var/log/auth.log | grep "session opened for user root"

要么

sudo cat /var/log/auth.log | grep "session closed for user root"

未经您的许可,它将为您提供有关用户登录系统的其他信息:) :)


1
我还sudo grep 'login keyring' /var/log/auth.org用来检查登录历史记录。
陶王
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.