我需要在具有su权限的Android Oreo AOSP中启动时启动一个简单的守护程序。
我已将SE Linux设置为允许更改内核bootargs设置,编译了守护程序并将可执行文件放在/ system / xbin中,在init.rc中添加了服务定义,但仍然得到:
avc:拒绝{过渡}
如果守护程序是由shell(具有su特权)启动的,则它可以正常工作。
我一直遵循许多用户提出的关于stackoverflow的解决方案,但没有结果。
有什么帮助或建议吗?
谢谢
答案 0 :(得分:0)
Init至少需要SELinux上下文才能将过程转换到。恐怕即使在宽松模式下运行,您也必须定义一个。
将以下内容添加到您的file_contexts
/system/xbin/<my-service> u:object_r:<some-context>:s0
编辑:在seclabel
(see init)的服务配置中添加init.rc
属性可能就足够了。
service my-service /system/xbin/my-service
[...]
seclabel u:r:su:s0