selinux配置

该博客介绍了如何处理Android系统中mediacodec组件访问vendor_data_file的权限问题,通过使用sepolicy-inject工具修改SELinux策略,并详细阐述了编译、生成及替换策略文件的过程,以及如何使用adb进行权限设置。
摘要由CSDN通过智能技术生成

https://github.com/phhusson/sepolicy-inject

A. 版本有remount权限,可直接添加到版本
B. sepolicy-inject push到手机的/data/local/tmp,sepolicy-inject 给工具赋权限 777

Line 9123: [ 3043.848311] (1)[731:logd.auditd][20220708_10:02:03.695154]@1 type=1400 audit(1657245723.689:5572): avc: denied { read } for comm="HwBinder:20018_" name="videodump" dev="dm-45" ino=471 scontext=u:r:mediacodec:s0 tcontext=u:object_r:vendor_data_file:s0 tclass=dir permissive=1



adb shell ./data/local/tmp/sepolicy-inject -s mediacodec -t vendor_data_file -c dir -p search -l 
adb shell ./data/local/tmp/sepolicy-inject -s mediacodec -t vendor_data_file -c dir -p getattr -l 

adb shell cat /data/seinfo.txt


mediacodec.te
allow mediacodec vendor_data_file:file { setattr getattr rw_file_perms open create unlink};
allow mediacodec vendor_data_file:dir { search getattr write read add_name create open remove_name rmdir};

b:
1.编译:
在system/sepolicy/vendor 目录修改后直接在工程根目录编译

./prebuilts/build-tools/linux-x86/bin/ninja -f ./out/combined-pineapple.ninja selinux_policy

2.生成物

out\target\product\pineapple\vendor\etc\selinux\vendor_sepolicy.cil

3.替换(可能无效, 需要整编构建)

adb push "\\172.16.215.102\share\work\8650\out\target\product\pineapple\vendor\etc\selinux\vendor_sepolicy.cil" /vendor/etc/selinux

修改scontext

adb shell chcon -v u:object_r:vendor_videofilter_data_file:s0 /data/vendor/videofilter
adb root && adb shell ls /data/ -Z
u:object_r:vendor_data_file:s0                    vendor
u:object_r:vendor_videofilter_data_file:s0           videofilter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值