在 Microsoft Windows NT 上,系统启动时会生成事件号 4608 Microsoft-Windows-Security-Auditing
,我可以在安全事件日志中看到该事件。您可以阅读更多相关信息这篇 TechNet 文章如果你还没有遇到过这个。
正如 TechNet 文章所述,Windows 系统管理员可以使用它来跟踪系统何时启动,因为此事件是相当早且基本的用户空间子系统启动。事实上,记录了一大堆安全审核事件。
我正在寻找 Unix 上的等价物。是否有某种安全事件日志,就像在 Windows 上一样,我可以扫描特定的(使用 Windows NT 术语,因为我还不够了解,甚至无法知道我想要的正确名称)“设备进程名称”或“设备事件类别 ID”?如果是这样,它在哪里以及我要寻找什么?
否则,我怎样才能找到服务器何时启动、关闭、用户登录失败等相同的信息?我在 Microsoft Windows NT 系统事件日志中查找安全审核事件时发现的所有内容都是相同的。
进一步阅读
答案1
我不熟悉 Windows,但从你的描述来看,日志的结构相当不同。
在 Linux 上,日志消息没有正式的结构;最后,它们被存储为一系列行。每行确实指示了起始进程的时间和名称,但没有像“事件 4608”这样的正式编码。系统启动会生成大量日志消息,分析日志消息包括查找包含已知模式的行。您不会寻找“设备进程名称”(我不知道这可能意味着什么),您会寻找一个字符串,使用grep
或使用更复杂的日志解析工具。
日志存储在目录中/var/log
。通常有多个日志文件;日志消息分派到不同文件的方式取决于系统配置,不同的发行版有不同的默认值。某些消息可能会记录在多个文件中。
典型的引导会在内核日志中生成数百个条目。这些通常位于/var/log/kern.log
但也可能位于某些发行版的另一个文件中。第一条消息开头为
Aug 16 16:51:40 darkstar kernel: Linux version
(后面是确切的内核版本)。这会告诉您计算机何时启动,以记录日志的进程的时区为准。
对于系统启动事件,还有另一个更容易提取信息的地方。有一个记录当前用户登录会话的二进制文件(/var/log/utmp
)还有另一个文件/var/log/wtmp
记录过去的会话。历史记录还记录了系统重新启动的情况。跑步last
才能看到这个历史信息。要仅查看重新启动事件,请查找用户名为 的条目reboot
:
last | awk '$1 == "reboot"'