gpt4 book ai didi

android - android 4.4.4及以上版本如何设置SELinux为0或permissive模式?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:21 25 4
gpt4 key购买 nike

我想在 Android 4.4.4(以及更高版本,如果可能)上将 SELinux(安全增强型 Linux)模式设置为 Permissive 或 (0)。我使用以下命令:setenforce 0setenforce permissivesetenforce Permissive 在 root 下(我的设备已获得 root 权限)。但是 getenforce 的输出始终是 Enforcing。现在我已经厌倦了这个问题。

谁能给我一个解决方案?提前致谢。

最佳答案

根据您的设备的 root 方式以及您运行的 Android ROM 将决定您如何禁用它。首先要尝试的是:

adb shell su 0 setenforce 0

这不同于:

adb shell setenforce 0

在 su 上执行会导致域从 shell(不能 setenforce)转换到 su 域(可以调用 setenforce)。例如,运行:

$ adb shell id -Z
context=u:r:shell:s0

相比于:

$ adb shell su 0 id -Z
context=u:r:su:s0

这可能由于三个原因而失败:

  1. 您没有 su 可执行文件
  2. su 可执行文件有错误的标签
  3. su 域规则未编译到引导镜像中

要更正问题 2,您可以(假设 adb 是 root):

adb remount
adb shell chcon /system/xbin/su u:object_r:su_exec:s0

这可能会失败,这可能表示问题 3。要解决问题 3,您需要重新编译包含 su 策略文件的 boot.img。如果您正在编译 AOSP,只需使用您设备的 userdebug 或 eng 变体。

另一种方法是从 init.c 中删除功能,就像问题 3 一样,需要重新编译 boot.img。进入 system/core/init/init.c(或 .cpp)并删除对 security_setenforce() 的所有调用。

此外,XDA 有一个应用程序可以帮助自动执行此过程并使其更容易,但是,我无法评价该应用程序的质量: http://www.xda-developers.com/easily-change-your-android-selinux-mode/

关于android - android 4.4.4及以上版本如何设置SELinux为0或permissive模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com