使用宽松的 SElinux 策略生成 AOSP 的用户版本

问题描述 投票:0回答:1

我将为 Pixel 4a 设备构建 AOSP 13。我嵌入了一些与OTA功能相关的系统应用程序。因此,系统需要在每次启动操作后设置许可。我知道以下规则适用于

userdebug
eng
构建。

BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive

但是我要将设备交付给第三方用户,并且我需要生成

user
版本。然而,上述方法不适用于
user
构建。我知道我应该为此目的编写特定策略,或者修改系统策略,例如
allow
neverallow
规则。有没有已经实现这个流程的经验、解决方案或者工具?

android android-source selinux
1个回答
0
投票

最后,我可以通过破解 AOSP 13 源代码中

selinux.cpp
处的
system/core/init
的两个函数来处理这种情况。根据下面演示的代码,我只是通过返回函数
permissive
enforcing
值并返回对于函数
user
为 false。在这些情况下,selinux 只能设置为
SELINUX_PERMISSIVE
StatusFromProperty()
我已经在运行 Android 13 的 Pixel 4a 设备上测试了上述代码,它确实有效!
    

© www.soinside.com 2019 - 2024. All rights reserved.