selinux avc权限设置

解决原则是:缺什么权限补什么,一步一步补到没有avc denied为止。

解决权限问题需要修改的权限文件如下位置,以.te结尾

A:Android/device/mediatek/common/sepolicy/*.te

B:Android/external/sepolicy/*.te

其中,A是对B的overlay(覆盖),能在A修改的尽量在A修改,尽量避免修改B。

avc: denied { read } for pid=1213 comm=".app.homescreen" name="/" dev="mmcblk0p13" ino=2 scontext=u:r:system_app:s0 tcontext=u:object_r:unlabeled:s0 tclass=dir permissive=1

分析过程:

缺少什么权限:      { read }权限,

谁缺少权限:        scontext=u:r:system_app:s0

对哪个文件缺少权限:tcontext=u:object_r:unlabeled

什么类型的文件:    tclass=dir

完整的意思:system_app进程对unlabeled类型的dir缺少read权限。

解决方法:

在common/sepolicy/system_app.te中添加:

allow system_app unlabeled:dir { read };

其他的avc: denied 问题同理。

2,

一些权限定义在 external/sepolicy/global_macros中。

 

 

你可能感兴趣的:(MTK驱动)