赞
踩
温馨提示
此文章参考[Android L]SEAndroid开放设备文件结点权限(读或写)方法(涵盖常用操作:sys/xxx、proc/xxx、SystemProperties)热门干货。有不对的地方请各位指出。
基本命令: setenforce 1/0 1 开启强制模式 setenforce 0 宽容模式 getenforce 获取当前selinux状态
如出现应用层等访问设备节点时出现无法打开时,使用指令setenforce 0 时,能够正常使用。可能出现此问题。
或者logcat 获取log时出现 : type=1400 audit(0.0:59): avc: denied { write } for name=“xxxx” dev=“proc” ino=4026532642 scontext=u:r:vendor_init:s0 tcontext=u:object_r:sysfs_proc:s0 tclass=file permissive=0 时,则为selinux权限问题。
第一步 在device/qcom/sepolicy/vendor/common/file.te 定义selinux type: proc_xxxx,如下:
type proc_xxxx, fs_type;
第二步 device/qcom/sepolicy/vendor/common/genfs_contexts,绑定proc_xxxx到对应的实际节点
genfscon proc /touchscreen/glove u:object_r:proc_xxxx:s0
第三步 device/qcom/sepolicy/vendor/common/system_app.te,申请权限system_app的权限
allow system_app proc_xxxx:file rw_file_perms;
第一步 在device/qcom/sepolicy/vendor/common/file.te 定义selinux type: proc_xxxx,如下:
type sys_xxxx, fs_type;
第二步 device/qcom/sepolicy/vendor/common/file_contexts,绑定sys_到对应的实际节点。 sys/bus/i2c/devices/xxxx/xxx u:object_r:sys_xxxx:s0
第三步 device/qcom/sepolicy/vendor/common/system_app.te,申请权限system_app的权限
allow system_app sys_xxxx:file rw_file_perms;
注:绑定时,需要给予实际路径,可以去find 查找一下具体实际路径。
LOG: type=1400 audit(0.0:59): avc: denied { write } for name=“xxxx” dev=“proc” ino=4026532642 scontext=u:r:vendor_init:s0 tcontext=u:object_r:sysfs_proc:s0 tclass=file permissive=0
denied { write } :需要添加写权限。 name=“xxxx” 节点名称为xxxx dev=“proc” 属于proc文件系统
scontext=u:r:vendor_init 需要添加vendor_init文件内权限(对此文件下去添加权限)
tcontext=u:object_r:sysfs_proc:s0 file定义的名称为 sysfs_proc。 tclass=file 类型为file
按照上述log,去vendor_init 文件添加 allow vendor_init:file write
添加完成之后,权限权限已经添加。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。