如何查看登录历史?

Dze*_*ero 138 login log

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

Oli*_*Oli 144

/var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

它包含的不仅仅是简单的登录(sudo 调用等),而且登录也在其中。它是受保护的,所以你需要是 root 才能阅读它:

sudo less /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

  • 打印失败登录历史的确切命令:`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; 日志名= 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 被排除在外,否则我们自己的命令也会被列出。 (3认同)

Don*_*kby 53

正如 Suhail 在评论中提到的,该last命令将显示上次登录用户的列表。


The*_*Kid 25

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

  • 这告诉我没有人登录过(这显然是错误的,因为我已登录以运行它) (3认同)

小智 8

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

sudo cat /var/log/auth.log | grep "Lid opened"
Run Code Online (Sandbox Code Playgroud)

或者

sudo cat /var/log/auth.log | grep "Lid closed"
Run Code Online (Sandbox Code Playgroud)

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

sudo cat /var/log/auth.log | grep "session opened for user root"
Run Code Online (Sandbox Code Playgroud)

或者

sudo cat /var/log/auth.log | grep "session closed for user root"
Run Code Online (Sandbox Code Playgroud)

它会给你额外的信息,你想知道关于未经你许可登录你的系统的用户:):)

  • 我还使用 `sudo grep 'login keyring' /var/log/auth.org` 来检查登录历史。 (4认同)