centos中selinux的三种运行模式
在 centos 中,selinux 有三种运行模式:enforcing(强制模式)、permissive(宽容模式)和 disabled(禁用模式)。enforcing 会强制执行安全策略并拒绝违规访问;permissive 仅记录违规而不阻断,便于排障与调试;disabled 完全关闭 selinux,系统回到传统的 dac 访问控制。一般生产环境建议保持 enforcing,排障时可临时切到 permissive。
常用查看与切换命令
- 查看当前模式:getenforce(返回 enforcing/permissive/disabled);查看详细状态:sestatus。
- 临时切换模式:setenforce 0(切到 permissive)、setenforce 1(切到 enforcing);此设置重启后失效。
- 永久生效:编辑 /etc/selinux/config,设置 selinux=enforcing|permissive|disabled,保存并重启系统。
- 注意:从 enforcing/permissive 改为 disabled,或反向切换时,需要重启;setenforce 无法将 selinux 直接设为 disabled。
与模式相关的策略类型说明
- 策略类型通过 /etc/selinux/config 的 selinuxtype 指定,常见取值:
- targeted(默认):仅对选定的网络服务等进程实施限制,其他本机进程多为 unconfined,平衡安全与易用。
- mls(多级安全):更严格的细粒度控制,配置复杂,实际使用较少。
- minimum(centos 7 起常见):targeted 的子集,仅保护少量指定进程。
- 策略类型影响“哪些主体受控、如何受控”,而运行模式决定“是否真正强制执行策略”。