如何监控系统登录
身份验证管理的一个基本组成部分是在您配置用户后监控系统。
我们将在Ubuntu 22.04 服务器上探索这些概念,但你可以跟随任何现代的 Linux 发行版。你可以通过遵循我们的指南来为本教程设置Ubuntu 22.04 服务器。
审查身份验证尝试
现代Linux系统将所有身份验证尝试记录在一个单独的文件中. 此处位于 /var/log/auth.log
. 您可以使用 less
查看此文件:
1sudo less /var/log/auth.log
1[secondary_label Output]
2May 3 18:20:45 localhost sshd[585]: Server listening on 0.0.0.0 port 22.
3May 3 18:20:45 localhost sshd[585]: Server listening on :: port 22.
4May 3 18:23:56 localhost login[673]: pam_unix(login:session): session opened fo
5r user root by LOGIN(uid=0)
6May 3 18:23:56 localhost login[714]: ROOT LOGIN on '/dev/tty1'
7Sep 5 13:49:07 localhost sshd[358]: Received signal 15; terminating.
8Sep 5 13:49:07 localhost sshd[565]: Server listening on 0.0.0.0 port 22.
9Sep 5 13:49:07 localhost sshd[565]: Server listening on :: port 22.
10. . .
当您完成查看文件时,您可以使用q
停止less
。
如何使用最后
命令
通常,您只会对最近的登录尝试感兴趣,您可以使用最后
工具查看这些:
1last
1[secondary_label Output]
2demoer pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 still logged in
3root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37 - 19:37 (00:00)
4root pts/0 rrcs-72-43-115-1 Thu Sep 5 19:15 still logged in
5root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:35 - 18:44 (00:08)
6root pts/0 rrcs-72-43-115-1 Thu Sep 5 18:20 - 18:20 (00:00)
7demoer 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
文件中的条目进行排序:
1lastlog
1[secondary_label Output]
2Username Port From Latest
3root pts/1 rrcs-72-43-115-1 Thu Sep 5 19:37:02 +0000 2013
4daemon **Never logged in**
5bin **Never logged in**
6sys **Never logged in**
7sync **Never logged in**
8games **Never logged in**
9. . .
您可以看到系统上每个用户的最新登录时间。
请注意,几乎所有系统用户都将有**从未登录
号码,因此许多系统帐户不会被用来直接登录,所以这是正常的。
结论
Linux 上的用户身份验证是系统管理的一个相对灵活的领域,有许多方法可以通过广泛的工具实现同样的目标。
重要的是要了解系统存储有关登录信息的位置,以便您可以监控您的服务器对不反映您的使用情况的更改。
接下来,您可能想了解如何添加和删除系统用户(https://andsky.com/tech/tutorials/how-to-add-and-delete-users-on-ubuntu-20-04)。