我正在为运行Android9的硬件设备修改SELinux策略。
目前我的程序是这样的:
file_contexts
.te文件和/或使用mmm system/sepolicy
adb root
adb wait-for-device
adb remount
adb wait-for-device
adb push out/target/product/<PRODUCT_NAME>/vendor/etc/selinux /vendor/etc/
adb push out/target/product/<PRODUCT_NAME>/system/etc/selinux /system/etc/
adb shell sync; sync; sync;
adb reboot当修改涉及.te文件时,这个过程似乎工作得很好。但是,当我修改file_contexts时,这不起作用,而且我更改的标签也不会应用到设备上。
现在,当我修改file_contexts时,我必须做一个完整的生成和闪存,这非常耗时.
那么,是否有一种不用完全生成/闪存就可以应用file_contexts更改的方法呢?
发布于 2022-07-05 06:56:35
检查product/etc/selinux或odm/etc/selinux在${ANDROID_PRODUCT_OUT}中是否存在。如果它们存在,你也得把它们推到设备里去。
只有在通过init.rc或在运行restorecon命令之后创建文件或目录时,才会应用restorecon。
如果文件或目录是由adb shell或任何其他进程运行时创建的,则selinux上下文将继承其父进程。
https://stackoverflow.com/questions/63551542
复制相似问题