SELinux avc权限--audit2allow
SELinux avc 权限, audit2allow 使用
若在log出现“ avc:”则按照调试添加权限。
使用avc关键词查找权限相关log
adb logcat -b all | grep "avc:"
进行操作复现问题,抓取最新日志,eg:
05-28 11:41:34.264 7393 7393 I auditd : type=1400 audit(0.0:383): avc: denied { read } for comm="m.android.email" name="vmstat" dev="proc" ino=4026532351 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
05-28 11:41:34.264 7393 7393 W m.android.email: type=1400 audit(0.0:383): avc: denied { read } for name="vmstat" dev="proc" ino=4026532351 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
05-28 11:43:05.454 7696 7696 I auditd : type=1400 audit(0.0:384): avc: denied { read } for comm="m.android.email" name="vmstat" dev="proc" ino=4026532351 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
05-28 11:43:05.454 7696 7696 W m.android.email: type=1400 audit(0.0:384): avc: denied { read } for name="vmstat" dev="proc" ino=4026532351 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:proc:s0 tclass=file permissive=0
创建任意文件,粘贴日志内容,eg:创建文件名称为se.txt,而后使用如下命令:
ubuntu@ubuntu:~$ audit2allow -i se.txt //很重要的一个以python写的命令,主要用来处理日志,把日志中的违反策略的动作的记录,转换成 access vector
//如果没有该指令,执行安装
sudo apt-get install policycoreutils
得到结果:
#============= untrusted_app_25 ==============
allow untrusted_app_25 proc:file read;
修改该路径下的文件:/device/qcom/sepolicy/common/ untrusted_app_25.te,在文件添加上述语句:
allow untrusted_app_25 proc:file read;
如果没有相似的文件,使用下面查找
grep -rsn "untrusted_app_25" .
///得到结果//
./untrusted_app_25.te:29:hal_client_domain(untrusted_app_25, hal_perf);
./untrusted_app_25.te:32:hal_client_domain(untrusted_app_25, hal_iop);
./untrusted_app_25.te:35:allow untrusted_app_25 vendor_file:file {getattr open read};
./untrusted_app_25.te:38:allow untrusted_app_25 vendor_file:file execute;
./untrusted_app_25.te:41:allow untrusted_app_25 exfat:dir search;
./untrusted_app_25.te:42:allow untrusted_app_25 fuseblk:dir search;
./untrusted_app_25.te:44:allow untrusted_app_25 proc:file read;
///模仿修改/
编译 vendorimage、bootimage 验证。
参考链接:
Selinux SeAndroid理解
SELinux audit2allow命令使用
SELinux avc权限--audit2allow相关推荐
- Android 修改 SELinux avc 权限的方法
系统版本:Android 11.0 平 台:RK3568 在 Android 系统的开发及适配过程中,我们常常需要对 SELinux avc 权限进行修改,以下是我对 SEL ...
- 2022-07-20 Android 11 SELinux avc 修改sys目录下面某个节点的权限
一.我这里有/sys/devices/platform/thermal-camera-control/powerenable 这样一个节点,用命令ls -Z 查看该文件的域. 二.我现在在一个普通ap ...
- Andorid SELinux策略、te语法、avc权限总结
浅谈te语法 前言 1.引言 2.基本定义 2.1 用type关键字定义类型 2.2 用typealias声明别名 2.3 attribute关键字声明属性/域 2.4 类型与属性/域相关联 3.基本 ...
- Android P SELinux (三) 权限检查原理与调试
Android P SELinux (一) 基础概念 Android P SELinux (二) 开机初始化与策略文件编译过程 Android P SELinux (三) 权限检查原理与调试 Andr ...
- android avc格式,Android权限 - avc权限问题
1.一般来说,如何确认是Selinux权限引起的问题? 通过命令adb shell getenforce,查看Selinux状态 adb shell getenforce Enforcing //1 ...
- Android Selinux avc报错分析
avc权限报错 E SELinux : avc: denied { find } for interface=vendor.qti.hardware.perf::IPerf sid=u:r:media ...
- 以Android L读取系统所有logcat并写入文件为例分析Android 以添加系统进程的方式申请selinux的权限执行shell脚本,以及avc:dined应该怎么申请权限
添加selinux较好的文章,可以通过adb shell dmesg > kenel.log 获取kmesg 可以看到 avc:dined 相关内容 首先说说环境: 基于Android L的ao ...
- 使用audit2allow工具来根据avc log生成selinux规则
audit2allow工具是google提供的一个原生的python脚本工具,可以根据avc权限错误log信息自动生成selinux规则.使用方法如下: 1.首先抓取设备启动的logcat或者dmes ...
- Android 使用 audit2allow 工具添加SELinux权限
开发应用报错,提示 avc: denied { write } for comm="com.test" name="/" dev="dm-5" ...
最新文章
- 大多数的自动驾驶公司,注定要倒闭
- 无法relay信件处理一例
- Binder源码分析之Native层(原)
- idea Scala import spark.implicits._ 报红,无法导入的解决办法
- 如何将多个Android Wear手表与单个手机配对
- hihoCoder 1092 : Have Lunch Together
- Node Version Manager--NodeJS的多版本管理工具--轻松实现多个版本的NodeJS的管理开发
- 如何编辑PDF文件,教你几招轻松搞定
- 巧用DOS命令打印上线文件列表
- 一路走来一路歌—我和团队有个约会
- Python入门--字符串的比较
- oracle建库并使用HR范例,Oracle HR样例数据库建立
- 洛谷.U19464.山村游行wander(LCT 伪期望)
- Python如何使用生成器得到斐波那契数列
- 倍福BECKHOFF PLC:自动化编程笔记
- 激荡三十年:1978-2008 之序
- K8s入门:Docker,kubectl,Kind的安装
- 深入机器学习系列之自然语言处理
- GL_INVALID_OPERATION
- 一文带你看懂JAVA IO流,史上最全面的IO教学啦(附送JAVA IO脑图
热门文章
- 《三国群英传2网络版》所有装备掉落查询
- Differentially Private Deep Learning with Iterative Gradient Descent Optimization
- Oracle 监听端口被占用,别的端口也提示占用
- 服务器搭建微信会员卡系统,智络会员管理系统如何与微信对接
- MySQL-DQL语句
- vue3.2+ 滑动验证组件,pc/手机通用,即插即用
- git pull origin master与git pull --rebase origin master的区别
- JAVA有关NFC读卡器读取数据
- python文件有几种类型、分别是什么_4. 内置类型
- 2016年4月1日作业