# Linux 系统日志详解 ## 1、日志概览 Linux 系统日志主要用于记录: - 系统启动过程 - 服务运行状态 - 用户登录与认证行为 - 定时任务执行情况 - 内核与硬件信息 日志是排障时最重要的证据之一。 ## 2、安装相关日志 常见安装阶段相关文件: ```text /root/install.log /root/install.log.syslog /root/anaconda-ks.cfg ``` 说明: - `/root/install.log`:安装期间的软件包和版本记录 - `/root/install.log.syslog`:安装阶段事件日志 - `/root/anaconda-ks.cfg`:安装过程生成的 Kickstart 配置参考 ## 3、常见系统日志文件 ### 3.1 定时任务 ```text /var/log/cron ``` 记录定时任务相关日志。 ### 3.2 打印日志 ```text /var/log/cups/ ``` 记录打印系统日志。 ### 3.3 启动内核日志 ```text /var/log/dmesg ``` 记录系统启动时的内核消息,也可通过 `dmesg` 命令直接查看。 ### 3.4 登录失败日志 ```text /var/log/btmp ``` 这是二进制日志文件,通常用下面命令查看: ```shell lastb ``` ### 3.5 最后登录记录 ```text /var/log/lastlog ``` 同样是二进制日志,通常使用: ```shell lastlog ``` ### 3.6 邮件日志 ```text /var/log/maillog ``` 记录邮件系统相关日志。 ### 3.7 重要系统日志 ```text /var/log/messages ``` 很多系统重要信息都会记录到这里,是传统排障时的高频入口。 ### 3.8 认证与授权日志 ```text /var/log/secure ``` 记录账户、密码、SSH 登录、`su`、`sudo` 等认证授权相关日志。 ### 3.9 登录历史日志 ```text /var/log/wtmp ``` 记录用户登录、注销、重启、关机等历史事件。 查看命令: ```shell last ``` ### 3.10 当前登录信息 ```text /var/run/utmp ``` 记录当前登录用户信息。 常用查看命令: ```shell w who users ``` ## 4、二进制日志的查看方式 以下文件通常不能直接用 `cat` 或 `vi` 查看: - `/var/log/btmp` - `/var/log/wtmp` - `/var/log/lastlog` - `/var/run/utmp` 对应常见命令: - `lastb`:看失败登录 - `last`:看登录历史 - `lastlog`:看每个用户最后登录时间 - `w` / `who`:看当前登录会话 ## 5、常见排障思路 ### 5.1 登录失败 重点查看: ```text /var/log/secure /var/log/btmp ``` ### 5.2 定时任务没执行 重点查看: ```text /var/log/cron ``` ### 5.3 系统启动异常 重点查看: ```text /var/log/dmesg /var/log/messages ``` ### 5.4 服务报错 优先查看: - 服务自身日志 - `/var/log/messages` - 现代系统中再结合 `journalctl` ## 6、小结 - 日志是 Linux 排障的第一手资料 - `/var/log/messages`、`/var/log/secure`、`/var/log/cron` 是高频日志文件 - `wtmp`、`btmp`、`lastlog`、`utmp` 都是偏登录审计相关的二进制日志 - 遇到问题时,要先判断问题类型,再去对应日志位置查证据