安全增强型Linux(Security Enhanced Linux)简称SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
SELinux有三种模式:enforcing(强制)、permissive(宽容)或 disabled(禁用)。
- Enforcing 模式是默认操作模式,在 enforcing 模式下 SELinux 可正常运行,并在整个系统中强制实施载入的安全策略。
- 在 permissive 模式中,系统会象 enforcing 模式一样加载安全策略,包括标记对象并在日志中记录访问拒绝条目,但它并不会拒绝任何操作。不建议在生产环境系统中使用 permissive 模式,但 permissive 模式对 SELinux 策略开发和调试很有帮助。
- 强烈建议不要使用禁用(disabled)模式。它不仅会使系统避免强制使用 SELinux 策略,还会避免为任何持久对象(如文件)添加标签,这使得在以后启用 SELinux 非常困难。
Disabled selinux 未启用
Enforcing selinux 处于开启状态(强制模式) < adb shell setenforce 1 >
Permissive selinux 处于关闭状态(宽容模式) < adb shell setenforce 0 >
查看SELinux的模式
getenforce
切换SELinux的模式
setenforce 1 or 0
使用 setenforce 所做的更改在重新引导后不会保留。要更改为 enforcing 模式,请以 Linux root 用户身份输入 setenforce 1 命令。要更改为 permissive 模式,请输入 setenforce 0 命令。
Android 中的安全增强型 Linux | Android 开源项目 | Android Open Source Project (google.cn)