1
  1. 正如我正确理解的那样,Android 4.2 引入了内核默认启用的 SELinux。我对吗?反正有没有禁用它?

有一些应用程序可能无法正常工作。

前任。使用 mount 命令系统范围停止工作

  1. 反正有禁用它吗?我检查了 VZW Galaxy Nexus - 构建 JDQ39 - 我不确定 Linux 版本是什么 - SELinux 或 Linux。

  2. 在安卓设备上使用 SELinux VS Linux 有什么好处。

问候,

4

5 回答 5

1

正确地说,SELinux 在 4.4 中仅针对特定进程启用:“在 Android 4.3 中,SELinux 是完全允许的。在 Android 4.4 中,SELinux 对多个根进程的域强制执行:installd、netd、vold 和 zygote。所有其他进程,包括其他服务和所有应用程序,仍处于允许模式,以允许进一步评估并防止 Android 4.4 中的故障。不过,错误的应用程序可能会触发不允许的根进程中的操作,从而导致进程或应用程序崩溃。”

于 2014-07-26T15:42:13.810 回答
0

SE Android 是基于 SE Linux 构建的 Android。此 SE Android 可以处于以下三种状态之一:Permissive、Enforcing 和 Disabled。

默认情况下,Android 内核可能构建在 SE Linux for 4.2 上,但默认情况下处于 Permissive 模式。从 4.4 开始,它处于强制模式。并且由于它是允许的,因此它与禁用一样好,只是会记录 AVC 日志。

您可以通过 adb 查看 SE Android 的模式。只需在 adb shell 中输入命令 getenforce,您应该会获得上述状态之一。如果状态是 Permissive 或 Disabled,则 SE Android 不是问题的原因。

同样为了在 Linux 上使用 SE Linux 的好处,还有很多。最重要的是除了 DAC 之外的 MAC 的使用。您可以参考内容,也可以转到说明使用 SE Android 如何增强 Android 中的安全性并减轻之前发生的许多漏洞的部分。

于 2014-06-21T10:20:01.743 回答
0

可以绕过挂载问题。

诀窍是在设备本身上使用 adb 在本地连接到设备并通过它发出 mount 命令。在 adb 中运行时,您似乎摆脱了阻止 mount 在应用程序中工作的任何监狱。我不认为它与 SELinux 相关,它似乎与多用户安全性有关,并且显然主要存在于 Android api 而不是内核级别(控制台应用程序应该可以正常访问挂载)。

使用 4.2.2 会有点困难,因为您现在需要为 adb 设置密钥。

看看这里,它适用于 Nexus 10,但基本原则应该适用于任何事情。

于 2013-04-09T02:30:32.970 回答
0

如果您已植根您的设备,您可以将其连接到您的计算机并简单地执行

adb shell
su
setenforce 0

禁用 SELinux。还有其他方法可以禁用它,其中一些包括将 0 写入某些 /dev/... 或 /sys/... 设备。

在大多数设备上,只有本地安装的 mount 命令不允许您进行任何挂载。通常这可以通过使用busybox来解决。只需安装busybox,或将其推送到本地目录并调用busybox mount -o remount,rw /system为例,重新挂载可读写的系统。

于 2014-06-22T11:36:40.050 回答
0

不,默认情况下未启用。Android 上确实没有默认启用的功能,每个手机制造商都会在制造新设备时设置配置并进行修改。即使 AOSP 在他们的内核中默认启用它(它没有),制造商也必须在他们的内核中启用它。

SELinux 是具有强制访问控制的 Linux。请阅读 SELinux。

即使是即将附带 SE Android(SELinux + Android 中间件 MAC)的设备(例如 Galaxy S IV)也默认将其设置为许可模式。您需要一个 MDM 客户端将其设置为强制执行。

于 2013-04-09T02:03:07.853 回答