温馨提示×

ubuntu selinux有哪些模式

小樊
48
2026-09-16 12:57:03
栏目: 智能运维

Ubuntu 里,SELinux(Security-Enhanced Linux)并不是默认启用的(Ubuntu 默认用 AppArmor),但如果手动安装并启用了 SELinux,它的**模式(mode)**和标准的 SELinux 是一致的,主要有以下几种:


一、SELinux 的三种运行模式

1. Enforcing(强制模式)✅

  • 真正生效
  • 所有违反 SELinux 策略的行为都会被 阻止(deny)
  • 同时会记录日志(通常 /var/log/audit/audit.log
  • 生产环境推荐模式
getenforce
# Enforcing

2. Permissive(宽容模式)⚠️

  • SELinux 不阻止任何操作
  • 但会 记录哪些操作会违反策略
  • 常用于调试、策略开发、迁移阶段
getenforce
# Permissive

3. Disabled(禁用模式)❌

  • SELinux 完全关闭
  • 不加载策略,不做任何检查
  • 修改此模式 需要重启系统
getenforce
# Disabled

二、查看和切换模式

查看当前模式

getenforce
# 或
sestatus

临时切换(重启后失效)

sudo setenforce 1   # Enforcing
sudo setenforce 0   # Permissive

⚠️ setenforce 不能从 Disabled 切到 Enforcing,必须改配置文件并重启


永久修改模式

编辑配置文件:

sudo nano /etc/selinux/config

示例:

SELINUX=enforcing
SELINUXTYPE=ubuntu

可选值:

  • enforcing
  • permissive
  • disabled

修改后 必须重启


三、Ubuntu 上的特殊情况

  • Ubuntu 默认 未安装 SELinux
  • 常见命令:
    sudo apt install selinux-basics selinux-policy-default
    sudo selinux-activate
    sudo reboot
    
  • Ubuntu 更常用的是 AppArmor,不是 SELinux

四、总结一句话

Ubuntu 上的 SELinux 模式和标准 SELinux 一样:Enforcing(强制)、Permissive(宽容)、Disabled(禁用)

如果你愿意,我也可以帮你对比 SELinux vs AppArmor,或讲 Ubuntu 上如何开启 SELinux

0