本文最近更新于 2018 年 7 月 18 日「 星期三 」

SELinux 模式是什么?

SELinux 全称是 Security Enhanced Linux,由美国国家安全部(National Security Agency)领导开发的 GPL 项目,是 Linux 史上最杰出的安全子系统,它拥有一个灵活而强制性的访问控制结构,旨在提高 Linux 系统的安全性,提供强健的安全保证,可防御未知攻击。

SELinux 的集中模式

SELinux 有三种模式:

  • Enforcing
  • Permissive
  • Disable

Enforcing 模式就是应用 SELinux 所设定的 Policy,所有违反 Policy 的规则(Rules)都会被 SELinux 拒绝。

Permissive 和 Enforcing 的区别就在于它还是会遵循 SELinux 的 Policy,但是对于违反规则的操作只会予以记录而并不会拒绝操作。

Disable 顾名思义就是完全禁用 SELinux。

Android SELinux

从 Android 5.0 开始,Google 在新系统中引入了多项安全增强措施,尤其是会强制开启 SELinux。

如何通过 Terminal 切换 SELinux 模式?

前提:需要 root,安装最新 SuperSU(> 2.00)

通过 Terminal App 可以帮助我们切换 SELinux 模式,方法如下:

1 su 0 setenforce 0

如果上述命令不可用,继续尝试:

1 su system setenforce 0

查看当前 SELinux 模式:

1 getenforce

截图:

有哪些 App 可以帮助我们一键切换 SELinux 模式?

  • Magisk SELinux Manager

一个 Magisk 模块,可以使 Android 的 SELinux 默认以 Permissive 运行。1

  • SELinux Mode Changer

https://forum.xda-developers.com/showthread.php?t=2524485
https://www.coolapk.com/apk/com.mrbimc.selinux

  • SELinux SetEnforce Toggle ROOT

https://play.google.com/store/apps/details?id=jp.ne.neko.freewing.SetEnforceToggle

  • SELinuxModify

https://github.com/xdtianyu/SELinuxModify

找不到?

下载:安装 Blackmart,搜索 selinux,如下图:

  1. Magisk 框架可以让我们以不触动 /system 的方式修改 /system,是一个通用的第三方 systemless 接口,通过这样的方式实现一些较强大的功能。详细介绍请访问 Magisk 框架可以干什么?一些值得推荐的 Magisk 模块