温馨提示×

ubuntu selinux模式怎么改

小樊
36
2026-10-04 09:48:56
栏目: 智能运维

在 Ubuntu 上,需要说明一个重要事实:

Ubuntu 默认使用的是 AppArmor,而不是 SELinux。
SELinux 在 Ubuntu 上一般不是默认启用的,如果你是“想改 SELinux 模式”,通常是在 手动启用了 SELinux 的 Ubuntu 系统 或 CentOS/RHEL 风格的环境 中。

下面分情况说明。


一、确认 Ubuntu 是否启用了 SELinux

getenforce
  • 返回 Disabled → 没启用
  • 返回 Enforcing / Permissive → 已启用

也可以看:

sestatus

二、临时修改 SELinux 模式(重启失效)

1️⃣ 改为 Permissive(只记录不拦截)

sudo setenforce 0

2️⃣ 改为 Enforcing(强制模式)

sudo setenforce 1

三、永久修改 SELinux 模式(重启生效)

编辑配置文件:

sudo vim /etc/selinux/config

内容示例:

SELINUX=enforcing
# 或
SELINUX=permissive
# 或
SELINUX=disabled

常见取值:

  • enforcing:强制
  • permissive:宽容(仅记录)
  • disabled:关闭

修改后 必须重启:

sudo reboot

四、Ubuntu 上启用 SELinux(如果原本没开)

Ubuntu 默认 不装 SELinux,如果你是想用 SELinux:

sudo apt update
sudo apt install selinux selinux-utils policycoreutils

然后修改 /etc/selinux/config 并重启。

⚠️ 注意:

  • Ubuntu 官方更推荐 AppArmor
  • 启用 SELinux 后可能导致系统或桌面环境异常

五、如果你其实是想改 AppArmor(Ubuntu 默认)

查看状态:

sudo aa-status

关闭某个 profile:

sudo aa-disable /etc/apparmor.d/usr.sbin.nginx

总结一句话

  • Ubuntu 默认不用 SELinux
  • 临时改:setenforce 0/1
  • 永久改:/etc/selinux/config
  • Ubuntu 更常见的是 AppArmor

如果你是 云服务器 / 容器 / 特定发行版,可以告诉我具体环境,我可以给你更精确的操作。

0 踩