当前位置:首页 > 文章列表 > 文章 > linux > Linux日志查看与/var/log目录解析

Linux日志查看与/var/log目录解析

2026-03-06 12:27:43 0浏览 收藏
Linux系统日志是洞察系统运行状态、排查故障、追踪安全事件和满足合规审计要求的核心依据,本文全面解析了/var/log目录下各类文本日志(如auth.log、secure、messages、dmesg等)的定位与读取方法,并重点介绍了systemd环境下更强大灵活的journalctl日志查询技巧;同时涵盖日志轮转管理(logrotate)、高效审计筛选(grep/awk实战)、权限与完整性校验等关键运维实践,助你从海量日志中精准捕获异常信号,筑牢系统可观测性与安全防线。

Linux怎么查看系统日志_Linux /var/log目录解析教程【审计】

如果您需要排查系统异常、分析安全事件或进行合规审计,查看Linux系统日志是关键操作。/var/log目录集中存储了内核、服务、认证及应用程序等多类日志文件,其结构和内容直接反映系统运行状态与历史行为。以下是针对该目录的详细解析与查看方法:

一、使用journalctl查看systemd日志

对于采用systemd初始化系统的现代Linux发行版(如CentOS 7+、Ubuntu 16.04+),journalctl是统一的日志查询工具,可读取二进制日志并支持时间范围、服务单元、优先级等过滤。

1、查看全部日志(按时间倒序):journalctl -b

2、查看最近一次启动以来的内核日志:journalctl -k -b

3、查看指定服务(如sshd)的全部日志:journalctl -u sshd.service

4、实时跟踪新日志输出:journalctl -fu nginx.service

5、按优先级筛选错误日志(优先级0-7,0为emerg,7为debug):journalctl -p err

二、直接读取/var/log下的核心文本日志文件

/var/log中多数传统日志为纯文本格式,可使用cat、less、tail等命令即时查看,适用于无systemd环境或需长期归档分析的场景。

1、查看系统启动与硬件检测信息:less /var/log/dmesg

2、查看用户登录、sudo操作、su切换等认证事件:less /var/log/auth.log(Debian/Ubuntu)或less /var/log/secure(RHEL/CentOS)

3、查看系统常规消息(内核、守护进程、启动脚本输出):less /var/log/messages(RHEL/CentOS)或less /var/log/syslog(Debian/Ubuntu)

4、查看cron任务执行记录:less /var/log/cron

5、查看Apache或Nginx访问与错误日志(若已安装):tail -n 20 /var/log/apache2/access.log 或 tail -n 20 /var/log/nginx/error.log

三、使用logrotate管理日志轮转与归档

系统默认通过logrotate定期压缩、重命名并删除旧日志,防止/var/log占满磁盘空间。配置文件位于/etc/logrotate.conf及/etc/logrotate.d/下各服务子配置,审计时需确认轮转策略是否满足保留周期要求。

1、查看当前logrotate主配置:cat /etc/logrotate.conf

2、检查sshd服务日志轮转规则:cat /etc/logrotate.d/sshd

3、手动触发一次logrotate(测试配置有效性):logrotate -f /etc/logrotate.conf

4、确认轮转后日志文件命名规律(如messages.1、messages.2.gz):ls -lt /var/log/messages*

5、解压并查看被压缩的旧日志:zcat /var/log/messages.2.gz | less

四、利用grep与awk进行日志审计筛选

在海量日志中定位特定事件(如暴力破解IP、特权命令执行、失败登录)需结合文本处理工具,提升审计效率与准确性。

1、搜索所有失败的SSH登录尝试(含IP地址):grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr

2、提取过去24小时内sudo执行的命令及其执行者:journalctl --since "24 hours ago" | grep "sudo\[" | awk '{print $1,$2,$3,$9,$10,$11}'

3、查找包含关键词“authentication failure”的所有行并高亮显示:grep --color=always "authentication failure" /var/log/secure

4、统计各用户登录成功次数:grep "Accepted" /var/log/auth.log | awk '{print $9}' | sort | uniq -c | sort -nr

5、导出指定时间段内的日志片段(例如2024-05-10 14:00至15:00):sed -n '/May 10 14:00:/, /May 10 15:00:/p' /var/log/messages

五、检查日志文件权限与完整性

审计过程中必须验证日志文件是否被未授权修改或删除,重点核查属主、权限位及SELinux上下文(如启用)。

1、列出/var/log下关键日志文件的权限与属主:ls -l /var/log/auth.log /var/log/secure /var/log/messages

2、确认日志文件属主为root且权限不高于640:stat -c "%U %G %A %n" /var/log/secure

3、检查是否存在非root写入权限(如权限为664或666):find /var/log -type f -perm /22 -ls

4、验证rsyslog或journald服务是否正在运行并写入日志:systemctl status rsyslog 或 systemctl status systemd-journald

5、检查日志目录是否启用不可变属性(chattr +a仅允许追加):lsattr /var/log

今天关于《Linux日志查看与/var/log目录解析》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

HTML如何设置定义元素样式?defined伪类用法解析HTML如何设置定义元素样式?defined伪类用法解析
上一篇
HTML如何设置定义元素样式?defined伪类用法解析
Java生成简单验证码教程
下一篇
Java生成简单验证码教程
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    256次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    301次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    278次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    257次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    65次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码