myfreax

Linux last命令审核最后登录用户

如果您要管理多用户系统,则经常需要知道谁,何时以及从何处登录计算机

4 min read
By myfreax
Linux last命令审核最后登录用户
Linux last命令审核最后登录用户

如果您要管理多用户系统,则经常需要知道谁,何时以及从何处登录计算机。

last是一个命令行程序,用于显示系统用户的最后登录会话的信息。当您需要跟踪用户活动或调查可能的安全漏洞时,此功能非常有用。

本教程介绍如何使用last命令审核谁登录系统。last命令的语法是last [OPTIONS] [USER] [...]

每次用户登录系统,该会话的记录都会写入/var/log/wtmp文件。 last读取文件wtmp文件,并打印用户登录和注销的信息。

如果在没有任何选项或参数运行last命令,将打印从最近的记录开始打印,以相反的时间顺序。

last
mark     pts/0        10.10.0.7   Fri Feb 21 21:23   still logged in
mark     pts/0        10.10.0.7   Tue Feb 18 22:34 - 00:05  (01:31)
lisa     :0           :0          Thu Feb 13 09:19   gone - no logout
reboot   system boot  4.15.0-74-g Fri Jan 24 08:03 - 08:03  (00:00)
...

每行输出从左到右包含的列包括,用户名:系统重新引导或关闭时的用户名,last命令使用特殊的用户rebootshutdown展示。

第二列是进行会话的tty,:0通常表示用户正在登录桌面环境。10.10.0.7:用户登录的IP地址或主机名。

Tue Feb 18 22:34 - 00:05会话的开始和停止时间。(01:31)会话的持续时间。如果会话仍在进行中或用户未注销,则last将显示会话的信息,而不是持续时间。

指定用户的会话

如果要获取指定用户的过去会话信息,可以指定一个或者多个用户名作为last命令的参数。例如命令last myfreax将会打印myfreax用户的会话信息。

也可以指定一个或者多个tty作为参数传递给last命令。例如命令last mark root pts/0将会打印pts/0 TTY的会话信息。

last mark
last mark root pts/0

last命令选项

last接受几个选项,可用于限制,格式化和过滤输出。在本节中,我们将介绍最常见的选项。

假如你要获取最近几个会话信息,你可以指定last命令打印的行数,在打印指定的行数时请在数字前加一个连字符传递给last命令。

例如命令last -10将仅打印最近十次的会话信息。使用-p/--present选项时,您还可以找出谁在指定日期登录系统。

last -10
last -p 2020-01-15

使用-s/--since-t/--until选项指示last命令显示自指定时间以来或直到指定时间的会话信息。

这两个选项通常一起使用,定义您要检索信息的时间间隔。例如命令last -s 2020-02-13 -u 2020-02-18将会展示2月13日至2月18日的登录记录。

last命令指定-p-s-t选项你可以使用以下的时间格式指定日期与时间。

YYYYMMDDhhmmss
YYYY-MM-DD hh:mm:ss
YYYY-MM-DD hh:mm     (seconds will be set to 00)
YYYY-MM-DD           (time will be set to 00:00:00)
hh:mm:ss             (date will be set to today)
hh:mm                (date will be set to today, seconds to 00)
now
yesterday            (time is set to 00:00:00)
today                (time is set to 00:00:00)
tomorrow             (time is set to 00:00:00)
+5min
-5days
last -s 2020-02-13 -u 2020-02-18

默认情况下,last命令不显示秒和年。你可以使用-F/--fulltimes选项查看完整的登录和注销的时间日期。

-i/--ip选项强制last始终显示IP地址,-d/--dns运行IP的DNS反向查找,也就是将IP解释为主机名。

last -F
last -i

结论

last命令显示用户登录和注销时间的信息。要查看last命令的更多信息,请在终端运行命令man last

如有任何疑问,请在下面发表评论。