当我登录到我的服务器时它会显示上次登录:
上次登录:2013 年 12 月 16 日星期一 12:28:10,来自 host.name.nl
这让我怀疑是否应该有一个列表或包含此信息的东西。我是否可以检索曾经通过 SSH 及其相应主机名或物理登录到我的服务器的所有用户的列表(很难,因为它是 VPS)?如果它还显示已通过的登录而不是仅显示最后一次登录,那就太酷了。
是否有人知道我可以在哪里找到此信息的脚本或起点?
答案1
登录信息存储在中/var/log/wtmp
,因此该信息的可用性取决于您对此文件的轮换策略。
例如:
[michael@challenger:~]$ ls -al /var/log/wtmp*
-rw-rw-r-- 1 root utmp 306816 Dec 16 12:49 /var/log/wtmp
-rw-rw-r-- 1 root utmp 539904 Dec 2 09:58 /var/log/wtmp.1
所以我可以看看是否有人其他比我登录的时间早得多:
[michael@challenger:~]$ last -f /var/log/wtmp.1 | grep -v michael
reboot system boot 3.8.0-33-generic Mon Dec 2 09:57 - 12:50 (14+02:53)
reboot system boot 3.8.0-33-generic Tue Nov 26 09:57 - 15:54 (4+05:57)
reboot system boot 3.8.0-33-generic Mon Nov 18 22:57 - 00:48 (7+01:50)
reboot system boot 3.8.0-33-generic Mon Nov 18 22:46 - 22:57 (00:10)
reboot system boot 3.8.0-33-generic Wed Nov 13 12:23 - 22:37 (5+10:14)
reboot system boot 3.8.0-32-generic Sun Nov 3 20:41 - 12:19 (9+15:38)
wtmp.1 begins Sun Nov 3 09:18:50 2013
查看服务器可能会更有趣:
michael@ragnarok:~> last -a root
root pts/0 Fri Dec 6 11:36 - 15:57 (04:20) raven.brazzers.com
root pts/0 Mon Oct 21 16:34 - 16:59 (00:25) challengerbrazzers.com
root pts/1 Thu Oct 10 12:01 - 12:09 (00:08) 192.168.0.31
root pts/0 Wed Aug 21 17:43 - 18:16 (00:33) challenger.brazzers.com
wtmp begins Fri Aug 16 16:21:12 2013
答案2
您可以使用 lastlog 并将输出保存在文件中
lastlog > list_lastlog_users
您将看到最后登录的 IP 或域名。