AOSP8.1 分析Selinux权限问题,并解决

原文链接:https://www.jianshu.com/p/aded77683d95

在开发中,因为android4.4之后引入了selinux权限系统,使得在开发aosp过程中会遇到一些权限的问题:

avc: denied { read write } for name="hello" dev="tmpfs" ino=2029 scontext=u:r:system_server:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=0

分析过程:

缺少什么权限: { read write }权限,
谁缺少权限: scontext=u:r:system_server:s0
对哪个文件缺少权限:tcontext=u:object_r:device:s0
什么类型的文件: tclass=chr_file
解决方法:system_server.te
/device/huawei/angler/sepolicy/system_server.te
allow system_server hello_device:chr_file { read write };
注意:修改之后,都要烧录system.img和boot.img

补充说明:

1.有时候avc denied的log不是一次性显示所有问题,要等你解决一个权限问题之后,才会提示另外一个权限问题。比如提示确实某个目录的read权限,你加入read之后,再显示缺少write权限,要你一次次一次试,一次一次加。这时你可以简单粗暴写个rw_dir_perms,这个权限包含了{open search write …}等等很多权限。

2.要加入的权限很多时,可以用中括号,比如:
allow engsetmacaddr vfat:dir { search write add_name create};
遇到问题不确定是否由于selinux问题造成,可先在adb shell 下,输入setenforce 0,让selinux失效,看是否问题还出现。以此可以澄清是非selinux造成的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值