Android seLiunx权限问题(avc dennied)解决方法

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux。原本是美国国安局联合一些公司设计的一个针对Linux的安全加强系统。Google在Android上强制引入这一套非常严格的权限管理机制,主要用于增强系统的安全性。然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足。本文旨在结合具体案例,讲解如何根据log来快速解决大部分的SELinux权限问题。

查看 SELinux 状态:
adb shell getenforce

设置SELinux状态:
adb shell setenforce 0
adb shell setenforce 1
(1) setenforce 0
设置SELinux 为permissve mode, 只审查权限, 但不限制, 即不会产生实质性影响,对违反selinux规则的行为只记录,不会阻止;
(2) setenforce 1
设置SELinux 为enforcing mode, 会强制性限制访问。

标志性log 格式
avc: denied { 操作权限 } for pid=7201 comm=“进程名” scontext=u:r:源类型:s0 tcontext=u:r:目标类型:s0 tclass=访问类别 permissive=0

实例
avc: denied { append } for pid=8317 comm=”RenderThread” name=”glsl_shader_log.txt” dev=”mmcblk0p35” ino=4077 scontext=u:r:system_app:s0 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0
解决方法:
赋予 system_app (系统app)对 文件(file)类型 system_data_file 有append的权限
1.找到 system_app.te 文件
2.文件中添加内容:
allow system_app system_data_file:file { append }

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crazy程序猿2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值