getenforce命令可快速查看selinux当前运行模式,返回enforcing(强制执行)、permissive(仅记录不拦截)或disabled(未激活)三种结果,轻量高效,适用于脚本判断和运维巡检。

直接用 getenforce 命令就能快速获知当前运行模式,返回结果只有三种:Enforcing(强制执行)、Permissive(仅记录不拦截)、Disabled(未激活)。这是最轻量、最常用的方式。
用 getenforce 查看实时运行模式
该命令不依赖策略加载完整性,适合脚本判断或运维巡检:
- 终端输入
getenforce,回车即得结果 - 返回 Enforcing:策略正在生效,违规操作会被阻止
- 返回 Permissive:策略已加载但不干预行为,只写 audit 日志
- 返回 Disabled:SELinux 模块未加载,无安全标签,也无策略控制
用 sestatus 查看完整状态详情
需要了解更全面信息时(比如配置文件设定、策略类型、是否启用 MLS),用 sestatus:
- 运行
sestatus,输出中重点关注:
SELinux status —— 是否启用模块
Current mode —— 当前实际运行模式
Mode from config file —— /etc/selinux/config 中设定的默认启动模式
Loaded policy name —— 当前加载的策略类型(如 targeted) - 若提示
command not found,说明缺少 policycoreutils 包,需运行yum install policycoreutils(RHEL/CentOS)或dnf install policycoreutils(Fedora/RHEL 8+)补全
检查配置文件确认默认启动行为
/etc/selinux/config 决定系统重启后的初始状态,与当前运行模式可能不一致:
- 用
cat /etc/selinux/config | grep "^SELINUX="查看配置行 - 值为
enforcing、permissive或disabled,对应三种启动模式 - 注意:
setenforce 0或setenforce 1只能切换 enforcing ↔ permissive,无法从 disabled 切出——必须改配置并重启
临时切换模式的操作边界
运行时调整仅限于 enforcing 和 permissive 之间:
-
setenforce 1→ 切入强制模式 -
setenforce 0→ 切入宽容模式 - 执行后立即生效,无需重启,但重启后恢复 config 文件设定的模式
- 若当前是 disabled,
setenforce会报错:“Cannot set enforcement on a system in disabled state”











