温馨提示×

Ubuntu如何检查SELinux日志

小樊
43
2026-08-24 09:58:55
栏目: 智能运维

Ubuntu 上,默认情况下并不使用 SELinux,而是使用 AppArmor。因此,检查“SELinux 日志”的情况要分几种来看。


一、先确认 Ubuntu 是否启用了 SELinux

大多数 Ubuntu 桌面和服务器 默认没有启用 SELinux

1️⃣ 检查 SELinux 状态

getenforce

sestatus

可能的结果:

  • DisabledSELinux 未启用
  • Permissive / EnforcingSELinux 已启用

如果提示:

Command 'getenforce' not found

说明 SELinux 工具未安装,基本可以确定系统没用 SELinux。


二、SELinux 日志在哪里(如果已启用)

如果系统 确实启用了 SELinux,日志通常在:

1️⃣ 使用 auditd(最常见)

/var/log/audit/audit.log

查看 SELinux 拒绝(AVC)日志:

sudo ausearch -m avc

实时查看:

sudo ausearch -m avc -ts recent

2️⃣ 查看系统日志(未启用 auditd 时)

/var/log/syslog
/var/log/messages

过滤 SELinux 信息:

grep -i selinux /var/log/syslog
grep -i avc /var/log/syslog

3️⃣ 使用 sealert(图形化/友好输出)

sudo sealert -a /var/log/audit/audit.log

需要安装:

sudo apt install setroubleshoot

三、Ubuntu 默认情况:你其实应该看 AppArmor 日志 ✅

Ubuntu 默认使用 AppArmor,而不是 SELinux

查看 AppArmor 日志

sudo dmesg | grep apparmor

或:

sudo journalctl -k | grep apparmor

或:

grep apparmor /var/log/syslog

四、总结(快速判断)

情况 建议
getenforce 提示未找到 Ubuntu 没用 SELinux
sestatus 显示 Disabled 查看 AppArmor 日志
SELinux Enforcing/Permissive /var/log/audit/audit.log
Ubuntu 报错权限问题 90% 是 AppArmor,不是 SELinux

如果你愿意,可以贴出:

  • sestatus 输出
  • 或你遇到的具体报错

我可以帮你判断是不是 AppArmor 或 SELinux 导致的问题,并给出解决方案。

0