直接执行sudo setenforce 0可临时将SELinux切换为宽松模式(Permissive),仅记录违规不阻止操作,重启后恢复原配置;需先用getenforce确认状态,若命令未找到则安装policycoreutils。

直接用 setenforce 命令就能临时切换,不需要重启,但下次开机就会恢复原设置。
确认当前模式再操作
执行 getenforce 查看当前状态:
- 输出 Enforcing 表示正在强制执行策略
- 输出 Permissive 表示已处于宽松模式(只记录不阻止)
- 输出 Disabled 表示 SELinux 未加载,此时
setenforce无效
如果提示 command not found,说明缺少工具包,需先安装:
CentOS/RHEL 7: yum install policycoreutils
RHEL 8+/Fedora: dnf install policycoreutils
切换到宽松模式(临时绕过拦截)
运行以下命令即可立即生效:
sudo setenforce 0
再执行 getenforce,应返回 Permissive。此时 SELinux 仍在运行,只是对违规行为仅记录(如 /var/log/audit/audit.log 中的 avc denied),不再实际阻止服务启动或文件访问。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
切回强制模式(恢复安全控制)
调试完成后,可随时恢复强制策略:
sudo setenforce 1
执行后 getenforce 应返回 Enforcing。该操作不影响已运行进程的安全上下文,也不修改文件或端口的 SELinux 标签。
注意临时性的边界
这种切换只作用于当前内核运行期:
- 系统重启后,自动按
/etc/selinux/config中的SELINUX=设置加载 - 不能切换为 Disabled 状态——
setenforce只支持0和1 - 适合快速验证问题是否由 SELinux 引起,比如 Web 服务起不来、端口绑定失败、日志里反复出现拒绝记录










