高通Selinux权限规则

1、背景:最近修改一些与Selinux权限相关东西,比如说录屏,通过apk调用system/bin/screenrecord 脚本命令去执行 录屏,具体原因是因为下面这张图报错信息。

2、复制avc报错信息日志 如下图所示(不知道avc权限控制是什么东西,请看这篇文章准确添加AVC权限_avc权限添加-CSDN博客


2024-05-29 15:07:31.931 23875-23875 
Thread-284              pid-23875                            I  type=1400 audit(0.0:5842): avc: denied { execute_no_trans } for path="/system/bin/screenrecord" dev="overlay" ino=318007 scontext=u:r:system_server:s0 tcontext=u:object_r:system_file:s0 tclass=file permissive=1

3、套用公式

allow [scontext] [tcontext]:[tclass] [denied];

4、翻译上面dmesg avc报错修改如下所示

allow system_server system_file:file{execute_no_trans} ;

  更多示例参考如下,这里不再赘述哈。

allow shell default_android_service:service_manager find;

 avc:  denied  { find } for pid=10761 uid=2000 name=xxx_test scontext=u:r:shell:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager permissive=1
 
 
 allow shell installd_service:service_manager find;
 
 avc:  denied  { find } for pid=10761 uid=2000 name=installd scontext=u:r:shell:s0 tcontext=u:object_r:installd_service:s0 tclass=service_manager permissive=1

5、在system/sepolicy/private/system_server.te文件中添加 上面allow权限规则,另外不要忘记,/system/sepolicy/prebuilts/api/32.0/private/system_server.te也要添加同样信息,否则编译报错。切记一定要同步,包括添加位置要一模一样,参考第4点,报错信息如下所示

6、修改之后进行编译固件Rom验证 

7、selinux问题快速验证 

SELinux权限
场景:avc问题快速调试
1)adb shell getenforce //查询selinux运行模式
2)adb shell setenforce 0 //切换成permissive(宽容模式),需先adb root
3)adb shell setenforce 1 //切换成enforcing(强制模式)

这里可以改成宽容模式,然后查看info类型的日志来查看是否还需要添加权限。

8、audit2allow -i logcat_avc.txt # -i指定avc报错日志文件 

到这里基本结束,这里只是简单记录下,抛砖引玉,关于Selinux权限不是一二篇文章就能讲完的,具体问题具体分析,但是公式都是差不多的哈,学会举一反三,转载请注明出处高通Selinux权限规则-CSDN博客,谢谢!

感谢

准确添加AVC权限_avc权限添加-CSDN博客

推荐工具 audit2allow 路径external/selinux/prebuilts/bin/audit2allow

最后再留一个AVC报错问题给大家练习,知道大家可以在评论中打出你的答案。showtime

I Thread-2: type=1400 audit(0.0:53): avc: denied { search } for name="leds" dev="sysfs" ino=26711 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:sysfs_leds:s0 tclass=dir permissive=1

  • 18
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值