Linux 常见系统日志分类及说明

Linux 常见系统日志分类及说明

/var/log 是 Linux 系统的核心日志目录,存储了系统、服务、应用的运行状态、错误信息及安全事件等关键日志。不同发行版(如 Ubuntu/Debian、CentOS/RHEL)文件略有差异,但核心文件及功能基本一致,以下是最常见的日志文件分类及说明

一、系统核心日志

记录系统整体运行状态、启动 / 关机、内核事件等,是排查系统故障的首要参考。

日志文件 核心功能
/var/log/syslog Debian/Ubuntu 核心日志:整合系统、内核、服务(如 SSH、 cron)的所有日志,信息最全面。
/var/log/messages CentOS/RHEL 核心日志:功能同 syslog,记录系统非调试类的通用事件(如硬件检测、服务启停)。
/var/log/kern.log 仅记录 Linux 内核日志:如内核模块加载、硬件驱动错误、内存 / 磁盘异常(如磁盘 IO 错误、CPU 告警)。
/var/log/boot.log 系统 启动过程日志:记录开机时 BIOS、内核、初始化服务(如 systemd)的启动状态,排查开机失败(如服务启动卡死)。

二、用户与登录安全日志

记录用户登录、身份验证、权限操作等安全相关事件,是排查暴力破解、非法登录的关键。

我也是清理日志的时候,才注意看到我自己服务器的btmp 原来有那么多尝试登陆的日志(攻击者扫描攻击登陆root账号)

日志文件 核心功能
/var/log/btmp 失败登录日志:仅记录 SSH / 本地登录失败的事件(如密码错误、用户名不存在),需用 lastb 命令查看。显示最近50条失败登录: lastb -n 50
/var/log/wtmp 成功登录日志:记录所有成功的登录 / 注销事件(包括本地终端、SSH、远程桌面),用 last 命令查看(如 last -f /var/log/wtmp)。
/var/log/utmp 当前在线用户日志:实时记录当前正在登录的用户(如终端、SSH 会话),用 wwho 命令查看(无需手动读取文件)。
/var/log/auth.log Debian/Ubuntu 认证日志:记录所有身份验证事件(如 sudo 权限使用、SSH 登录验证、密码修改)。
/var/log/secure CentOS/RHEL 认证日志:功能同 auth.log,是安全审计的核心文件(如 sudo 操作记录、登录成功 / 失败详情)。

三、常见服务日志

系统预装或手动安装的服务(如 Web 服务、数据库、定时任务)会在此目录下生成专属日志。

日志文件 / 目录 关联服务 核心功能
/var/log/nginx/ Nginx(Web 服务器) 存储 Nginx 的访问日志(access.log,记录用户请求 IP、URL、状态码)和错误日志(error.log,记录配置错误、访问失败)。
/var/log/apache2/ Apache(Web 服务器) Debian/Ubuntu 下的 Apache 日志,含 access.log(访问记录)和 error.log(错误记录);CentOS/RHEL 路径为 /var/log/httpd/
/var/log/mysql/ MySQL/MariaDB(数据库) 记录数据库的错误日志(error.log,如启动失败、SQL 语法错误)、慢查询日志(slow.log,优化 SQL 的关键)。
/var/log/cron Cron(定时任务) 记录所有定时任务(crontab)的执行结果(如任务成功 / 失败、输出信息),排查定时任务不生效的问题。
/var/log/mail.log 邮件服务(如 Postfix) 记录邮件发送 / 接收的日志(如邮件队列、发送失败原因),Debian/Ubuntu 专用;CentOS/RHEL 路径为 /var/log/maillog

四、其他常用日志

日志文件 核心功能
/var/log/dpkg.log Debian/Ubuntu 软件包日志:记录 apt/dpkg 安装、升级、卸载软件的操作(如安装 nginx 的全过程),排查软件安装失败。
/var/log/yum.log CentOS/RHEL 软件包日志:记录 yum 安装 / 升级 / 卸载软件的操作,功能同 dpkg.log
/var/log/faillog 用户登录失败详情日志:比 btmp 更详细,记录每个用户的登录失败次数、时间,用 faillog 命令查看(如 faillog -u root 查看 root 失败记录)。

补充说明

  • 日志轮转文件:上述文件常伴随 .1.2.gz 等后缀(如 syslog.1kern.log.2.gz),是 logrotate 工具自动切割的 “历史日志”(避免单个日志过大),无需手动管理,系统会按配置自动清理旧日志。

  • 权限限制:多数日志文件仅 rootadm 组可读取(如 auth.logsecure),需用 sudo 权限查看(如 sudo cat /var/log/auth.log)。