Android 8.0 SE-Linux 问题解决-untrusted_app_25

1. 关键字 avc: denied

1.1 现象

01-03 10:31:35.585148 331 331 E SELinux : avc: denied { find } for service=xxx_applock pid=5499 uid=10087 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:xxx_applock_service:s0 tclass=service_manager permissive=1

1.2 具体参数
E SELinux : avc:  denied  { find } for 
service=xxx_applock 
pid=5499 
uid=10087 
scontext=u:r:untrusted_app_25:s0:c512,c768 表示:subject context : u:r:root_channel:s0 
tcontext=u:object_r:xxx_applock_service:s0 表示:target context : u:object_r:dalvikcache_data_file:s0
tclass=service_manager  表示:the object class of the target 
permissive=1 表示:permissive (1) or enforcing (0)
  1. 缺少什么权限: 缺少 find 权限
  2. 哪个te文件缺少权限: scontext=u:r:untrusted_app_25:s0:c512,c768,
  3. 具体哪个文件缺少权限: tcontext=u:object_r:xxx_applock_service:s0
  4. 什么类型的文件: class=service_manager

上述解释如下:
- avc: denied { find } for ,表示缺少 find 权限
- scontext=u:r:untrusted_app_25:s0:c512,c768,表示 untrusted_app_25.te 缺少该权限
- tcontext=u:object_r:xxx_applock_service:s0, 表示untrusted_app_25.te 缺少对 xxx_applock_service 的权限
- tclass=service_manager 权限文件类型

即总结为:untrusted_app_25.te 文件需要新增类型为service_manager 的 xxx_applock_service 的 find 权限

2. SELinux 相关设置文件

2.1 线索

线索:
- 权限文件:scontext=u:r:untrusted_app_25:s0:c512,c768
- 具体权限内容:tcontext=u:object_r:xxx_applock_service:s0
- 权限类型:tclass=service_manager

2.2 思路

在所有 untrusted_app_25.te 文件中新增如下语句

allow untrusted_app_25 xxx_applock_service:service_manager { find };

2.3 查找 te 文件

查找 untrusted_app_25.te 所在位置

root@69959bbb90c6:/home/suhuazhi/8.1/liangxiang# find system/sepolicy/ -name "untrusted_app_25.te"
system/sepolicy/prebuilts/api/26.0/private/untrusted_app_25.te
system/sepolicy/prebuilts/api/26.0/public/untrusted_app_25.te
system/sepolicy/private/untrusted_app_25.te
system/sepolicy/public/untrusted_app_25.te
2.4 修改 te 文件,添加 tclass=service_manager
  1. system/sepolicy/prebuilts/api/26.0/private/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/prebuilts/api/26.0/public/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/private/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/public/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };

3.拓展阅读

https://www.2cto.com/kf/201611/562711.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法迪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值