如果要管理多用户系统,则通常需要知道谁,何时以及从何处登录到计算机。
last是一个命令行实用程序,用于显示有关系统用户的最后登录会话的信息。当你需要跟踪用户活动,或调查可能的安全漏洞时,此功能非常有用。
本文介绍了如何审核使用last命令登录系统的人员。
last命令的语法如下:
last [OPTIONS] [USER] [<TTY>...]
每次用户登录系统时,该会话的记录都会写入/var/log/wtmp文件中。last读取文件wtmp文件并打印有关用户登录和注销的信息。从最近的记录开始,记录按时间倒序打印。
在last没有任何选项或参数的情况下调用时,输出看起来像这样:
输出的每一行从左到右包含以下几列:
要输出特定用户或tty,请将用户名或tty作为参数传递给last命令:
last mark
last pts/0
还可以指定多个用户名和ttys作为参数:
last mark root pts/0
last接受几个选项,这些选项可以限制,格式化和过滤输出。在本节中,我们将介绍最常见的几个用法。
要指定打印的行数,请将数字前加单个连字符 - 传递给last。例如,要仅打印最后十个登录会话,输入:
last -10
使用-p(--present)选项,可以确定谁在指定日期登录了系统。
last -p 2020-01-15
使用-s(--since)和-t(--until)选项,指示last显示自指定时间以来,或直到指定时间为止的行。
这两个选项通常一起使用,以定义要检索信息的时间段。例如,要显示2月13日至2月18日的登录记录,可以运行:
last -s 2020-02-13 -u 2020-02-18
传递给-p,-s,-t选项的日期格式,可以是下面这些:
默认情况下,last不显示秒和年。使用-F,--fulltimes选项查看完整的登录和注销时间和日期:
last -F
-i(--ip)选项强制last始终显示IP地址,以及使用-d(--dns)来显示主机名:
last -i
其实,last 只是把常用的文本处理筛选功能做成工具使用了。如果系统管理员想要自己手动实现审核,可以直接对相关日志文件操作,灵活且强大。