温馨提示×

Ubuntu如何切换SELinux模式

小樊
41
2026-08-24 09:49:54
栏目: 智能运维

Ubuntu 上切换 SELinux 模式(Enforcing / Permissive / Disabled)需要注意:Ubuntu 默认使用的是 AppArmor,而不是 SELinux。如果你确实在 Ubuntu 上启用了 SELinux,可以按下面的方法操作。


一、查看当前 SELinux 状态

getenforce

sestatus

可能的结果:

  • Enforcing:强制模式(拦截并审计)
  • Permissive:宽容模式(只审计,不拦截)
  • Disabled:已禁用

二、临时切换 SELinux 模式(重启失效)

1️⃣ 切换到 Permissive 模式

sudo setenforce 0

2️⃣ 切换到 Enforcing 模式

sudo setenforce 1

⚠️ 需要 root 权限
⚠️ 如果 SELinux 是 Disabledsetenforce 会失败


三、永久切换 SELinux 模式(重启生效)

1️⃣ 编辑 SELinux 配置文件

sudo nano /etc/selinux/config

2️⃣ 修改以下行

SELINUX=enforcing

可选值:

  • enforcing
  • permissive
  • disabled

3️⃣ 重启系统

sudo reboot

四、如果 Ubuntu 没有 SELinux(常见情况)

检查是否安装了 SELinux:

dpkg -l | grep selinux

如果没有,Ubuntu 默认使用的是 AppArmor

sudo aa-status

Ubuntu 官方推荐:使用 AppArmor,而不是 SELinux


五、常见注意事项

  • Disabled 切换到 Enforcing必须重启
  • 生产环境建议:
    • 先使用 Permissive 观察日志
    • 再切换到 Enforcing
  • SELinux 日志位置:
    /var/log/audit/audit.log
    

六、总结

需求 命令
查看状态 sestatus
临时关闭 setenforce 0
临时开启 setenforce 1
永久修改 编辑 /etc/selinux/config
Ubuntu 默认 AppArmor,不是 SELinux

如果你愿意,可以告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • 是否 必须 使用 SELinux(某些合规要求)

我可以给你更精确的配置方案 ✅

0