权限添加总结"/>
selinux权限添加总结
目录
快速调试方法
添加格式
快速编译:
selinux 冲突可搜索
shell 脚本或adb shell 命令尝试修改selinux权限
修改不生效问题
快速调试方法
先用 setenforce 0关闭selinux ,然后运行应用程序,新开adb窗口,执行:
cat /proc/kmsg | grep avc
获取所有的selinux报错。
或 system/core/init/selinux.cpp 中修改编译项
添加格式
avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类型 permissive=0
格式:allow 源类型 目标类型:访问类型 {操作权限};
快速编译:
make sepolicy -j4
system/etc/selinux
vendor/etc/selinux
product/etc/selinux
find . -name selinux | xargs rm -rf
selinux 冲突可搜索
report_failure 或 neverallow 加快定位,会指明具体是那行冲突。
shell 脚本或adb shell 命令尝试修改selinux权限
在调试时有时可用下面命名判断修改的权限是否满足自己需求
chcon -R u:object_r:app_data_file:s0 /tmp
修改不生效问题
有时碰到如下这种申明了目标版本api的报错。
avc: denied { connectto } for comm="Thread-2" path=00696E6E65725F7072696E746572 scontext=u:r:untrusted_app_29:s0:c102,c256,c512,c768 tcontext=u:r:untrusted_app_29:s0:c54,c256,c512,c768 tclass=unix_stream_socket
在各untrusted_app_29.te中添加始终不生效。
可尝试如下方案:
system/sepolicy/public/untrusted_app.te 和 system/sepolicy/prebuilts/api/33.0/public/untrusted_app.te (我们使用的平台是api 33的,具体应根据实际平台变动)
type untrusted_app_29, domain;改为
type untrusted_app_29, domain, mlstrustedsubject;
更多推荐
selinux权限添加总结
发布评论