Linux last 命令


简介

在 Linux 中,"last" 命令用于显示先前登录到系统的用户列表。此命令对于需要跟踪服务器上用户活动的系统管理员特别有用。last 命令可以显示各种信息,包括访问日期和时间、会话持续时间以及用于访问系统的终端或设备。

选项和语法

last 命令的基本语法如下所示:

$ last [options] [username]

last 命令可用的选项包括:

-a − 在输出中显示系统的主机名。

-d − 显示主机的 DNS 名称而不是 IP 地址。

-f − 使用指定的文件作为数据源,而不是默认文件。

-i − 显示主机的 IP 地址而不是主机名。

-n − 限制输出的行数。

-R − 以反向 DNS 格式打印系统的 hostname 和 IP 地址。

-x − 在输出中显示系统重启消息。

概述

在管理多用户系统时,您通常需要有关登录活动的详细信息。在本教程中,我们将通过一个示例学习如何使用“last”“lastb” 命令获取登录信息。

last 和 lastb 简介

last 命令显示最近登录用户的相关信息。当我们需要跟踪登录活动或调查潜在的安全漏洞时,它非常方便和有用。last 命令默认情况下会将系统日志文件“/var/log/wtmp”作为生成报告的数据源。wtmp 是 *nix 操作系统上的一个二进制文件,它保留所有登录和注销活动的记录。

“lastb” 命令与 last 命令相同,不同之处在于,它默认情况下会在“/var/log/btmp”文件中查找,该文件包含所有失败的登录尝试。普通用户没有读取“/var/log/btmp”文件的权限。

$ ls -l /var/log/btmp
-rw-rw---- 1 root utmp 1152 Apr  5 00:04 /var/log/btmp

因此,只有 root 用户可以使用“lastb”命令获取失败的登录尝试报告。

理解输出

如果我们不带任何选项运行 last 命令,它将生成所有访问的历史记录报告:

$ last
reboot   system boot  5.5.13-arch2-1   Fri Apr 10 08:02   still running
kent     pts/0        192.168.0.63     Tue Apr  7 22:01 - 23:03  (01:02)
reboot   system boot  5.5.8-arch1-1    Tue Mar 10 20:49 - 20:49  (00:00)
kent     pts/5        tmux(6716).%6    Thu Mar 26 18:58 - 19:01 (7+23:02)
root     tty1 slash Fri Feb 21 18:45 - down   (00:01)
kent     pts/0        80.242.164.60    Thu Feb 20 11:39 - 11:43  (00:04)
guest    pts/0        192.168.0.63     Sun Jan 26 19:15 - 21:32 (02:17)
kent pts/2 tmux(2044).%1 Wed Jan 8 22:39 - 01:09 (02:29)

现在,让我们查看上面生成的访问报告并了解每列的含义:

  • 第一列显示已登录用户的名称。

  • 第二列指示用户如何连接到系统,例如通过pts(伪终端)或tty(电传打字机)。但如果是重启任务,则会显示系统启动。

  • 第三列指示用户从何处登录。值可能是:

    • 主机名或 IP 地址 - 如果用户是从远程计算机连接的

    • 空值 - 如果用户通过 tty 连接

    • 内核版本 - 如果是重启任务

    • 某些应用程序特定的值,例如,tmux(6716).%6 表示 ProcessName(PID).WindowID

  • 第四列指示登录活动何时发生。

  • 第五列显示注销时间。它们可以是以下值:

      • 时间戳 - 如果用户已注销

      • 仍在运行 - 如果系统启动仍在运行

      • 仍处于登录状态 - 如果用户仍处于登录状态

      • 关闭 - 系统正常关闭

      • 崩溃 - 如果“/var/log/wtmp”文件中没有注销条目;这通常意味着系统已崩溃

最后一列指示用户已连接多长时间,格式为(小时:分钟)。

限制输出中的行数

多用户系统很可能在wtmp 文件中记录了许多登录条目。如果我们只想查看一些最近的登录活动,我们可以使用“-n” 选项来限制 last 命令输出中的行数:

$ last -n 5
kent pts/0 192.168.0.63 Sat Apr 11 14:58 still logged in
kent pts/

结论

在本文中,我们学习了 Linux 中的lastlastb 命令,它们用于显示最近登录用户的相关信息。last 命令对于系统管理员跟踪服务器上的用户活动特别有用。本文还介绍了该命令可用的不同开关和语法,以及如何使用它们的示例。此外,我们还了解了last 命令生成的输出以及如何限制输出中的行数。上面解释的选项、示例和对输出的理解将帮助您更有效地使用此 last 命令。

更新于:2023年1月20日

6K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告