一、SELinux 三种模式简介
Enforcing:强制模式。代表SELinux在运行中,且已经开始限制domain/type之间的验证关系Permissive:宽容模式。代表SELinux在运行中,不过不会限制domain/type之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。不过如果验证不正确会发出警告Disabled:关闭模式。SELinux并没有实际运行
二、getenforce 命令
功能:查看当前 SELinux 的运行模式
三、SELinux 模式的更改(setenforce 命令)
SELinux 模式的更改规则:
①不论是从 Enforcing 或 Permissive 改为 Disabled,还是由 Disabled 改为 Enforcing 或 Permissive,系统都需要重新启动。因为 SELinux 是整合到内核中的
②在 SELinux 已经运行的模式下:只能够在 Enforcing 和 Permissive 两种模式之间进行切换,而不能直接关闭 SELinux(Disabled),如果你使用 getenforce 发现当前 SELinux 模式为 Disabled 时,请立即到 /etc/selinux/config 文件中将 SELinux 改为 Enforcing,然后重新启动系统
③如果你从 Disable 转到启动 SELinux 的模式时,系统必须针对文件写入安全上下文的信息,因此启动过程会花费不少时间等待重新写入 SELinux 安全上下文(有时成为 SELinux Label),而且在写完之后还要再重新启动一次
④如果你在 Enforcing 模式,但是可能由于一些设置的问题导致 SELinux 让某些服务无法正常地运行,此时可以将 Enforcing 的模式改为宽容(Permissive)的模式,让 SELinux 只会警告而,而不会直接阻止主体进程的读取权限
setenforce 命令格式:
# 转换为Permissive宽容模式setenforce 0# 转换为Enforcing强制模式setenforce 1
注意事项:setenforce 无法设置 SELinux 为 Disabled 模式
更多内容详情请关注#深圳市新移科技有限公司