如何在 Ubuntu 上监控系统身份验证日志
如何监控系统登录
身份验证管理的一个基本组成部分是在配置用户后监视系统。
我们将在 Ubuntu 22.04 服务器上探索这些概念,但您可以在任何现代 Linux 发行版上继续学习。您可以按照我们的 Ubuntu 22.04 初始服务器设置指南为本教程设置 Ubuntu 22.04 服务器。
查看身份验证尝试
现代 Linux 系统将所有身份验证尝试记录在一个离散文件中。它位于 /var/log/auth.log
。您可以使用 less
查看此文件:
- sudo less /var/log/auth.log
OutputMay 3 18:20:45 localhost sshd[585]: Server listening on 0.0.0.0 port 22.
May 3 18:20:45 localhost sshd[585]: Server listening on :: port 22.
May 3 18:23:56 localhost login[673]: pam_unix(login:session): session opened fo
r user root by LOGIN(uid=0)
May 3 18:23:56 localhost login[714]: ROOT LOGIN on '/dev/tty1'
Sep 5 13:49:07 localhost sshd[358]: Received signal 15; terminating.
Sep 5 13:49:07 localhost sshd[565]: Server listening on 0.0.0.0 port 22.
Sep 5 13:49:07 localhost sshd[565]: Server listening on :: port 22.
. . .
查看完文件后,可以使用 q
退出 less
。
如何使用“last”命令
通常,您只会对最近的登录尝试感兴趣。您可以使用 last
工具查看这些内容:
- last
Outputdemoer pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 still logged in
root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 - 19:37 (00:00)
root pts/0 rrcs-72-43-115-1 Thu Sep 5 19:15 still logged in
root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:35 - 18:44 (00:08)
root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:20 - 18:20 (00:00)
demoer pts/0 rrcs-72-43-115-1 Thu Sep 5 18:19 - 18:19 (00:00)
这提供了保存在另一个文件 /etc/log/wtmp
中的信息的格式化版本。
从第一行和第三行来看,用户当前已经登录系统。在其他已经关闭的会话期间登录系统所花费的总时间由一组连字符分隔的值提供。
如何使用“lastlog”命令
您还可以使用 lastlog
命令查看系统上每个用户上次登录的时间。
此信息是通过访问 /etc/log/lastlog
文件提供的。然后根据 /etc/passwd
文件中的条目进行排序:
- lastlog
OutputUsername Port From Latest
root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37:02 +0000 2013
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**
sync **Never logged in**
games **Never logged in**
. . .
您可以看到系统上每个用户的最新登录时间。
请注意系统用户几乎所有的用户都是 **Never logged in**
。这些系统账号很多都不会用来直接登录,所以这是正常的。
结论
Linux 上的用户身份验证是系统管理中一个相对灵活的领域。使用广泛可用的工具可以通过多种方式实现相同的目标。
了解系统在哪里保存有关登录的信息很重要,这样您就可以监控您的服务器是否有未反映您的使用情况的更改。
接下来,您可能想了解如何添加和删除系统用户。