如何在Linux上使用最后一个命令

Linux笔记本电脑显示bash提示Fatmawati Achmad Zaenuri / Shutterstock.com

谁,何时,何地?良好的安全实践表明,您应该知道谁在访问您的Linux计算机。我们告诉你如何。

wtmp文件

Linux和其他类似Unix的操作系统(如MacOS)非常擅长日志记录。在系统内部的某个地方,您可以记录几乎所有可以想到的内容。我们感兴趣的日志文件被调用 wtmp文件。 “w”可能代表“何时”或“谁” – 似乎没有人同意。 “tmp”部分可能代表“临时”,但它也可能代表“时间戳”。

我们所知道的是 wtmp文件 是一个捕获并记录每个登录和注销事件的日志。查看中的数据 wtmp文件 日志是采用安全思维方法处理系统管理职责的基本步骤。对于典型的家庭计算机,从安全角度来看,它可能不是那么重要,但能够检查您对计算机的组合使用是很有趣的。

与Linux中的许多基于文本的日志文件不同, wtmp文件 是一个二进制文件。要访问其中的数据,我们需要使用专为该任务设计的工具。

那个工具就是 持续 命令。

最后一个命令

持续 命令从中读取数据 wtmp文件 记录并在终端窗口中显示它。

如果你输入 持续 然后按Enter键将显示日志文件中的所有记录。

持续

终端窗口中的最后一个命令

每条记录来自 wtmp文件 显示在终端窗口中。

从左到右,每行包含:

  • 登录用户的用户名。
  • 他们登录的终端。终端条目 :0 意味着他们已经登录Linux计算机本身。
  • 他们登录的机器的IP地址。
  • 登录时间和日期戳。
  • 会议的持续时间。

终端窗口中的last输出

最后一行告诉我们日志中最早记录的会话的日期和时间。

每次启动计算机时,都会将虚拟用户“rebo​​ot”的登录条目输入到日志中。终端字段被内核版本替换。这些条目的登录会话的持续时间表示计算机的正常运行时间。

显示特定行数

使用 持续 命令本身产生一个整个日志的转储,其中大部分都在终端窗口之外徘徊。保持可见的部分是日志中最早的数据。这可能不是你想看到的。

你可以说 持续 给你一个特定数量的输出线。通过在命令行中提供您想要的行数来完成此操作。注意连字符。要查看五行,您需要输入 -5 并不是

最后-5

在终端窗口中的最后-5

这给出了日志中的前五行,这是最新的数据。

终端窗口中twmp的前五行

显示远程用户的网络名称

-d (域名系统)选项告诉 持续 尝试将远程用户的IP地址解析为计算机或网络名称。

最后-d

最后一个在终端窗口

它并不总是可能的 持续 将IP地址转换为网络名称,但命令将尽可能地执行此操作。

从终端窗口中的最后一个-d输出

隐藏IP地址和网络名称

如果您对IP地址或网络名称不感兴趣,请使用 -R (无主机名)选项可以禁止显示此字段。

最后-R在终端窗口中

因为这给出了更整洁的输出而没有丑陋的包装,所以在以下所有示例中都使用了此选项。如果你正在使用 持续 为了尝试识别异常或可疑活动,您不会压制此字段。

终端窗口中最后一个-R的输出

按日期选择记录

你可以使用 -s (自)选项将输出限制为仅显示自特定日期以来发生的登录事件。

如果您只想查看2019年5月26日发生的登录事件,请使用以下命令:

最后-R -s 2019-05-26

最后-R -s 2019-05-26在终端窗口中

输出显示记录,其中包含从指定日期00:00开始的登录事件,以及日志文件中的最新记录。

在终端窗口中输出最后一个-R -s 2019-05-26

搜索到结束日期

你可以使用 -t (直到)指定结束日期。这允许您选择在两个感兴趣的日期之间发生的一组登录记录。

在终端窗口中输入-R -s 2019-05-26 -t 2019-05-27

这个命令问 持续 检索并显示从26日00:00(黎明)到27日00:00(黎明)的登录记录。这将列表缩小到仅在26日发生的登录会话。

在终端窗口中输出最后一个-R -s 2019-05-26 -t 2019-05-27

时间和日期格式

你可以使用时间和日期 -s-t 选项。

可以使用的不同时间格式 持续 使用日期和时间的选项(据称):

  • 为YYYYMMDDhhmmss
  • YYYY-MM-DD hh:mm:ss
  • YYYY-MM-DD hh:mm – 秒设置为00
  • YYYY-MM-DD – 时间设置为00:00:00
  • hh:mm:ss – 日期设置为今天
  • hh:mm – 日期将设置为今天,秒为00
  • 现在
  • 昨天 – 时间设置为00:00:00
  • 今天 – 时间设置为00:00:00
  • 明天 – 时间设置为00:00:00
  • + 5分钟
  • -5天

为什么'涉嫌'?

列表中的第二种和第三种格式在本文的研究期间不起作用。这些命令在Ubuntu,Fedora和Manjaro发行版上进行了测试。这些分别是Debian,RedHat和Arch发行版的衍生版本。这涵盖了Linux发行版的所有主要系列。

last -R -s 2019-05-26 11:00 -t 2019-05-27 13:00

终端窗口中失败的最后一个命令的输出

如您所见,该命令根本没有返回任何记录。

使用列表中的第一个日期和时间格式与上一个命令具有相同的日期和时间会返回记录:

last -R -s 20190526110000 -t 20190527130000

在终端窗口中输出-R -s 20190526110000 -t 20190527130000

按相对单位搜索

您还可以指定相对于当前日期和时间以分钟或天为单位的时间段。在这里,我们要求记录从两天前到一天前的记录。

最后-R -s -2days -t -1days

在终端窗口中最后-R -s -2days -t -1days

昨天,今天和现在

您可以使用 昨天明天 作为昨天的日期和今天的日期的简写。

最后-R -s昨天-t今天

昨天-R -s -t今天在终端窗口

并不是说这不包括今天的任何记录。这是预期的行为。该命令要求从开始日期到结束日期的记录。它不包括结束日期内的记录。

昨天-R -s的输出-t今天在终端窗口中输出

现在 选项是“今天当前时间”的简写。要查看自00:00(黎明)以来发生命令的登录事件,请使用此命令:

最后-R -s今天 – 现在

今天最后-R -s  - 现在在终端窗口

这将显示当前所有登录事件,包括仍然登录的事件。

今天从-R -s输出-t now

目前的选择

-p (现在)选项允许您找出在某个时间点登录的用户。

登录或退出时无关紧要,但如果他们在您指定的时间登录到计算机,它们将包含在列表中。

如果指定没有日期的时间 持续 假设你的意思是“今天”。

最后-R -p 09:30

最后-R -p 09:30在终端窗口

仍然登录的人(显然)没有登出时间;他们被描述为 仍然登录 。如果计算机自指定时间后未重新启动,则将其列为 仍在运行

最后一次输出-R -p 09:30

如果你使用 现在 简写 -p (现在)选项,您可以找到在您发出命令时登录的用户。

最后-R -p现在

最后-R -p现在在终端窗口中

这是一种有点啰嗦的方式来实现使用的可以实现的目标 命令。

现在在终端窗口中输出最后一个-R -p

有关: 如何确定Linux中的当前用户帐户

lastb命令

lastb 命令值得一提。它从一个名为的日志中读取数据 BTMP。对此日志名称有更多的共识。 'b'代表不好,但'tmp'部分仍然存在争议。

lastb 列出错误(失败)登录尝试。它接受与以下相同的选项 持续。因为登录尝试失败,所以他们的条目都将持续00:00。

你必须使用 须藤lastb

sudo lastb -R

lastb  - 终端窗口中的R.

关于问题的最后一句话

了解谁已登录您的Linux计算机,何时以及从何处获取有用信息。将此与登录尝试失败的详细信息相结合,可以为您提供调查可疑行为的第一步。

body #primary .entry-content ul#nextuplist list-style-type:none; margin-left:0px; padding-left:0px;
body #primary .entry-content ul#nextuplist li a text-decoration:none; color:#1d55a9;

请阅读下一步

  • >为什么流媒体服务需要为HD和4K充电?
  • >如何流UFC 238 Cejudo vs. Moraes Online
  • >如何在Windows 10上输入Kaomoji(╯°□°)╯(┻━┻
  • >如何在线观看2019年FIFA女足世界杯(无线)
  • >如何在Linux上使用timeout命令
本文机器自动生成,不保证语句完整通顺和表达准确,亦不对内容真实有效性负责,请读者知悉。