如何使用“ last”命令读取较早的登录信息?


14

last命令可能显示的用户登录信息行太少,在“ wtmp开始”时被截断。

如果我想获取尽可能多的last信息(例如,查看是否使用我的用户名从任何未知/可疑IP中访问了我的系统),如何输出较旧的“最新”信息?

如果我使用last -2000,打算看到2000行输出,但是该命令可能仅返回几行,则“ wtmp开始”之前发生的任何事情都将被截断。)

只是想知道是否有可能输出尽可能多的登录信息行。


last -o可能有帮助。手册页说它读取旧的wtmp文件。但是在我的系统上,它提供的信息不多。虽然,wtmp begins设置为1970
。– udiboy1209 2014年

1
那很好笑。如果自1970年以来登录次数超过日志中显示的登录次数,则某些设置可能不正确。
水石

Answers:


17

last命令使用二进制文件/var/log/wtmp显示最近登录用户的列表。

但是/var/log/wtmp是旋转文件,旧条目被存档到/var/log/wtmp.x其中x是数字的地方[0-9]

因此,如果您需要更深入地了解登录历史记录,请尝试打开以下文件之一:

last -2000 -f /var/log/wtmp.1 | less

1
要在终端中读取2000行,最好将其传递给lessas last -2000 -f /var/log/wtmp.1| less,+1以获得更好的答案
souravc

好主意,谢谢@souravc。我已经编辑了答案。
西尔文·皮诺

非常感谢你!我注意到wtmp.1文件已自动压缩到wtmp.1.gz文件中,因此我将其解压缩,并使用“ last -f”读取,这正是我所需要的。非常感谢。顺便说一句,wtmp.1似乎还太新,我只有wtmp1文件(/ var / log中没有其他文件,如wtmp2等),如果我想让系统存储更多信息,如何更改默认系统设置以此目的?
水石

请创建一个新问题,以涵盖应将多少个轮播归档。
西尔文·皮诺

1

如果最后一个-f /var/log/wtmp.1没有给出任何输出,则可能是因为例如在新版本中记录长度已更改。

一个简单的选择是使用utmpdump代替:

utmpdump /var/log/wtmp.1  | less

哦,less可以使用q(from“ quit” ;-))退出


一年后,您将获得前10分!
WinEunuuchs2Unix

0

更新资料

登入

/var/log/wtmp.1

受到约束。

Ubuntu 1617可能具有删除一个月以上日志的机制。要配置此行为,您应该编辑:

/etc/logrotate.conf

更多信息:

访问启动和关闭日志

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.