Linux中journalctl日志怎么查看SELinux拦截访问的日志

风涛小哥_9570

风涛小哥_9570

2026-10-05

387人浏览

原创

查看selinux拦截日志关键在捕获内核audit子系统生成的avc拒绝事件,应使用journalctl过滤_transport=kernel并匹配avc.*denied或type=avc,配合启用auditd服务与journald持久化,并用sealert解析修复建议。

linux中journalctl日志怎么查看selinux拦截访问的日志

要查看 SELinux 拦截访问产生的日志,关键不是直接搜“SELinux”,而是捕获它实际记录在 journald 中的审计事件——这些事件由内核的 audit subsystem 生成,并经 auditd 或 journald 收集,通常以 AUDIT_ANOMALY、AVC(Access Vector Cache)等关键词标识。

定位 SELinux 拒绝日志的核心方法

SELinux 的拒绝行为(如服务无法绑定端口、进程无法读取文件)会触发 AVC 拒绝消息,journald 默认会收录这些内核审计日志。最有效的方式是:

  • 用 journalctl 过滤 AVC 和 audit 相关条目:
    journalctl -t kernel | grep -i "avc.*denied"
    或更精准地:
    journalctl _TRANSPORT=kernel | grep -E "(avc:.*denied|type=AVC)"
  • 查看最近一次启动中所有 SELinux 相关事件:
    journalctl -b | grep -i -E "(avc|selinux|audit)"
  • 实时跟踪新出现的 SELinux 拒绝:
    journalctl -f -t kernel | grep -i "avc.*denied"

确保日志能被查到的前提条件

如果执行上述命令无输出,不代表没发生拦截,很可能是日志未持久化或 audit 未启用:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 确认 auditd 服务正在运行(多数发行版默认启用):
    sudo systemctl is-active auditd;若为 inactive,启用并启动:sudo systemctl enable --now auditd
  • 确保 journald 持久化开启:SELinux 审计日志常随内核日志写入,而默认 journal 存储在内存(/run/log/journal),重启即丢失。需配置:
    ① 创建目录:sudo mkdir -p /var/log/journal
    ② 设置权限:sudo chown root:systemd-journal /var/log/journal
    ③ 修改 /etc/systemd/journald.conf 中 Storage=persistent,再执行 sudo systemctl restart systemd-journald

结合 sealert 工具辅助解读

单纯看 AVC 日志(如 avc: denied { read } for pid=1234 comm="httpd" name="index.html" dev="sda1" ino=56789)只告诉你“被拒”,不告诉“怎么修”。建议配合:

  • 安装 setroubleshoot(RHEL/CentOS/Fedora)或 sealert(Ubuntu/Debian):
    sudo dnf install setroubleshoot-server(或 apt install selinux-utils)
  • 运行分析:
    sudo sealert -a /var/log/audit/audit.log
    该命令会将原始 AVC 拒绝转成可读建议(例如“允许 httpd 读取 public_content_t 类型文件:setsebool -P httpd_read_user_content 1”)

补充:对比传统 audit.log 文件

若系统启用了 auditd,完整审计日志还存于 /var/log/audit/audit.log。可直接查看:
sudo ausearch -m avc -ts recent | aureport -a
或简单过滤:
sudo grep "avc:.*denied" /var/log/audit/audit.log | tail -20
注意:journalctl 显示的是已解析/转发后的副本,而 audit.log 是原始二进制审计流的文本表示,信息更全但更难读。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3830

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3293

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2433

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5850

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5502

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3253

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2745

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2959

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习