2021-12-30 Android SELinux msg=‘avc: denied的解决方法,Android 11 上测试。

一、log出现avc: denied,确认是否由于SELinux致使的问题,简单粗暴有效可以直接关掉。

可先执行:

setenforce 0 (临时禁用掉SELinux)app

getenforce (获得结果为Permissive)dom

若是问题消失了,基本能够确认是SELinux形成的权限问题,须要经过正规的方式来解决权限问题。

二、实际案例。

    1、我在device\rockchip\rk356x\init.rk356x.rc文件里面添加如下内容

     2、然后在adb里面setprop chipsea.lapdop.fuck  fuck ,没有任何反应,查看kernel log发现有下面的提示msg='avc:  denied  { read } for property=giada.lapdop.fuck pid=0 uid=0 gid=0 scontext=u:r:vendor_init:s0 tcontext=

      3、解决原则:缺什么权限补什么。

      4、我这里这样修改device\rockchip\common\sepolicy\vendor\vendor_init.te添加下面一行

allow vendor_init  default_prop:file { read };

       5、测试运行ok,log也没有相关的avc: denied提示。

三、扩展学习,上面这个案例中,cts_gts.status可以在没有加allow的情况下有效,为什么呢?

1、

 2、因为device\rockchip\common\sepolicy\private\property_contexts里面有这么一行

  3、而test_harness_prop在里面system/sepolicy/有配置,如果我把test_harness_prop全部替换上fuckyou_prop,然后property_contexts里面的test_harness_prop也换成fuckyou_prop,也是可以有效。至于如何实现,没有仔细研究,就知道这么测试是ok的。

四、参考文章

Android SELinux avc denied解决_pan0755的博客-CSDN博客

Android SELinux avc dennied权限问题解决方法 - 尚码园

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值