本篇记录一个在Android平台增加SELinux配置时, 报错的解决方案。
关于SELinux的配置, 网上有一大堆资源,在这里不在赘述,直接推荐一个介绍比较全的帖子:
【SELinux】总结之策略规则&语法&报错解决_selinux 创建属性attribute-CSDN博客
笔者报错信息如下:
报错信息解释:大概意思是说笔者添加的Selinux权限, 与平台原生的Selinux权限冲突,冲突点在aosp源码 system/sepolicy/public/domain.te:447 中。
首先看笔者要添加的权限:allow shell default_prop:property_service { set } 想要shell进程访问default_prop服务, 而domain.te的447行 明确指出永远不允许任何进程访问default_prop服务(init进程除外):neverallow { domain -init} default_prop:property_service set;
所以解决方案是在domain.te的447行改成如下, 问题解决,编译通过
neverallow { domain -init -shell} default_prop:property_service set;