`/var/log/wtmp` 和 `/var/run/utmp`日志详解

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: `/var/log/wtmp` 和 `/var/run/utmp` 是Unix/Linux系统中记录用户登录信息的关键文件。`wtmp` 文件存储所有登录和注销事件,供 `last` 命令显示登录历史,而 `utmp` 文件实时更新,记录当前登录用户信息,可由 `who` 或 `w` 命令解析展示。两者皆为root用户访问,系统重启可能清空,且常受安全措施保护,用于系统管理和安全审计。

/var/log/wtmp/var/run/utmp 是两个在Unix和Linux系统中用于记录用户登录信息的文件。这两个文件在管理和审计系统访问方面起着重要的作用。以下是关于这两个文件的详细解释:

/var/log/wtmp

/var/log/wtmp 文件是一个二进制文件,用于记录所有登录到系统的用户信息。每当用户登录或注销系统时,系统都会更新这个文件。这个文件通常用于生成 last 命令的输出,该命令可以显示系统上所有用户的登录历史。

/var/log/wtmp 文件的内容通常包括:

  • 登录的用户名
  • 登录的终端或远程主机
  • 登录的日期和时间
  • 注销的日期和时间(如果有的话)

由于这是一个二进制文件,所以通常不能直接查看它的内容。但是,你可以使用 last 命令来查看和解析这个文件的内容。

/var/run/utmp

/var/run/utmp 文件也是一个用于记录用户登录信息的文件,但它是一个实时更新的文件,用于记录当前登录到系统的用户信息。这个文件的内容在每次用户登录或注销时都会更新。

/var/run/utmp 文件的内容通常包括:

  • 登录的用户名
  • 登录的终端或远程主机
  • 登录的日期和时间
  • 用户进程的ID(PID)
  • 用户登录的会话ID(TTY)

/var/log/wtmp 不同,/var/run/utmp 文件是一个文本文件,因此你可以使用 catmoreless 等命令直接查看它的内容。但是,这个文件的内容格式是特定的,所以直接查看可能不太容易理解。更常见的做法是使用如 whow 这样的命令来查看当前登录的用户信息,这些命令会解析 /var/run/utmp 文件并以更友好的方式显示结果。

注意事项

  • /var/log/wtmp/var/run/utmp 文件通常只有root用户才能访问和修改。
  • 这些文件在系统重启后可能会被清空或重置,因此它们主要记录的是系统运行期间的登录活动。
  • 为了保护这些文件不被篡改或删除,许多系统都会采取额外的安全措施,如使用日志轮转(log rotation)机制来管理这些文件的大小和保留期限。

通过分析和审计这些文件的内容,系统管理员可以了解系统的使用情况、识别潜在的安全问题,并采取适当的措施来保护系统的安全。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
17天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
140 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
1月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
239 3
|
1月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1640 14
|
1月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
|
1月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
205 0
|
1月前
|
存储 分布式计算 NoSQL
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
42 0
|
1月前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
57 0
|
3月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
136 3
|
2月前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
2月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
154 9