如果您正在管理多用户系统,您通常需要知道谁、何时、从何处登录到计算机。
last
是一个命令行实用程序,显示有关系统用户上次登录会话的信息。当您需要跟踪用户活动或调查可能的安全漏洞时,它非常有用。
本文介绍了如何使用以下方式审核登录系统的人员:last
命令。
如何使用last
命令#
语法为last
命令如下:
last [OPTIONS] [USER] [<TTY>...]
每次用户登录系统时,该会话的记录都会写入/var/log/wtmp
file. last
读取文件wtmp
文件并打印有关用户登录和注销的信息。记录从最近的记录开始按逆时间顺序打印。
When 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
显示特殊用户reboot
and shutdown
.
- 发生会话的 tty。
:0
通常意味着用户正在登录桌面环境。
- 用户登录的 IP 地址或主机名。
- 会话开始和停止时间。
- 会话的持续时间。如果会话仍处于活动状态或用户未注销,则最后将显示有关该信息而不是持续时间的信息。
要将输出限制为特定用户或 tty,请将用户名或 tty 作为参数传递给last
命令:
last mark
last pts/0
您还可以指定多个用户名和 tty 作为参数:
last mark root pts/0
last
命令选项#
last
接受多个选项,允许您限制、格式化和过滤输出。在本节中,我们将介绍最常见的内容。
要指定要在命令行上打印的行数,请将前面带有单个连字符的数字传递给last
。例如,要仅打印最后十个登录会话,您可以键入:
last -10
随着-p
(--present
) 选项,您可以找出在特定日期登录系统的人员。
last -p 2020-01-15
Use the -s
(--since
) and -t
(--until
) 选项告知last
显示自指定时间以来或直到指定时间的行。这两个选项经常一起使用来定义您希望检索信息的时间间隔。例如,要显示从2月13日到2月18日的登录记录,您可以运行:
last -s 2020-02-13 -u 2020-02-18
时间过去了-p
, -s
and -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
不显示秒和年份。使用-F
, --fulltimes
查看完整登录和注销时间和日期的选项:
last -F
The -i
(--ip
) 选项力last
始终显示 IP 地址,并且-d
(--dns
) 显示主机名:
last -i
结论#
The last
命令打印有关用户登录和注销时间的信息。有关该命令的更多信息,请键入man last
在您的终端中。
如果您有任何疑问,请在下面留言。