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
命令使用特殊的用户reboot
和shutdown
展示。
第二列是进行会话的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
。
如有任何疑问,请在下面发表评论。