Androidselinux定制下AndroidP

Android selinux Customization under Android P

我想添加一个类似于 /system/bin/mymodule 的模块 当然,我需要通过定义其上下文并编写策略来为此自定义 sepolicy

而且我知道自从 Android 8 以来它带来了 Treble 和 limitations 我可能只是修改 device/manufacturer/device-name/sepolicy 下的 sepolicy 我可以添加 mymodule.te 文件和类似

的内容
type mymodule, domain;
type mymodule_exec, exec_type, file_type;
init_daemon_domain(mymodule)

但在我的情况下,它可能会破坏 system/sepolicy/private/domain.te 下的 neverallow sepolicy,所以也许我需要修改它 neverallow { -mymodule }

但我担心这可能会违反 android 三重原则,也许 make 无法通过 CTS?

所以问题是我的担心对吗?如果它是对的,还有其他方法可以通过这个 neverallow sepolicy 吗?

system/sepolicy/public/attributes 为不同的用途定义了许多 domain,例如 appdomain 用于普通应用程序,netdomain 用于需要网络访问的应用程序,等等。也许你应该根据您模块的操作,为您的模块更改正确的 domain。在很多情况下,它都能满足你的需求。