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
。在很多情况下,它都能满足你的需求。
我想添加一个类似于 /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
。在很多情况下,它都能满足你的需求。