audit2allow安装与使用(解决avc:denied问题)

有的时候写好代码,打包编译后发现会遇到系统权限问题,这个时候可以使用工具audit2allow来自动生成Selinux策略语句

安装方法:

  1. 终端直接安装(推荐)
sudo apt install policycoreutils-python-utils
  1. 或者将Android 源码目录下external/selinux/python/audit2allow/audit2allow copy到/usr/bin/

使用方式

下载后将log中提示权限问题的log语句复制,单独创建一个txt。
 
例如:
04-23 11:51:22.682 1838 1838 W HwBinder:1838_2: type=1400 audit(0.0:3245): avc: denied { read } for name="videobox.json" dev="dm-43" ino=18004 scontext=u:r:vendor_qconfigservice:s0 tcontext=u:object_r:vendor_data_file:s0 tclass=file permissive=0
创建一个avc.txt将以上语句粘贴进去。
终端输入
audit2allow -i avc.txt
然后就直接生成了selinux语句:
#============= vendor_qconfigservice ==============
allow vendor_qconfigservice vendor_data_file:file read;
前面的#============= vendor_qconfigservice ==============
就是在告诉你在那个文件里面,接下来把语句放入对应的.te文件里打包编译就好。
过程可能会重复好多次,因为这个权限加了等会运行进去还有可能出现其他的权限问题,有耐心一个个加就可以。
 
posted @ 2023-04-24 14:58  君雁  阅读(1500)  评论(0)    收藏  举报