Android 8.0 SE-Linux 问题解决-untrusted_app_25

2024-02-09 20:48

本文主要是介绍Android 8.0 SE-Linux 问题解决-untrusted_app_25,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 关键字 avc: denied

1.1 现象

01-03 10:31:35.585148 331 331 E SELinux : avc: denied { find } for service=xxx_applock pid=5499 uid=10087 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:xxx_applock_service:s0 tclass=service_manager permissive=1

1.2 具体参数
E SELinux : avc:  denied  { find } for 
service=xxx_applock 
pid=5499 
uid=10087 
scontext=u:r:untrusted_app_25:s0:c512,c768 表示:subject context : u:r:root_channel:s0 
tcontext=u:object_r:xxx_applock_service:s0 表示:target context : u:object_r:dalvikcache_data_file:s0
tclass=service_manager  表示:the object class of the target 
permissive=1 表示:permissive (1) or enforcing (0)
  1. 缺少什么权限: 缺少 find 权限
  2. 哪个te文件缺少权限: scontext=u:r:untrusted_app_25:s0:c512,c768,
  3. 具体哪个文件缺少权限: tcontext=u:object_r:xxx_applock_service:s0
  4. 什么类型的文件: class=service_manager

上述解释如下:
- avc: denied { find } for ,表示缺少 find 权限
- scontext=u:r:untrusted_app_25:s0:c512,c768,表示 untrusted_app_25.te 缺少该权限
- tcontext=u:object_r:xxx_applock_service:s0, 表示untrusted_app_25.te 缺少对 xxx_applock_service 的权限
- tclass=service_manager 权限文件类型

即总结为:untrusted_app_25.te 文件需要新增类型为service_manager 的 xxx_applock_service 的 find 权限

2. SELinux 相关设置文件

2.1 线索

线索:
- 权限文件:scontext=u:r:untrusted_app_25:s0:c512,c768
- 具体权限内容:tcontext=u:object_r:xxx_applock_service:s0
- 权限类型:tclass=service_manager

2.2 思路

在所有 untrusted_app_25.te 文件中新增如下语句

allow untrusted_app_25 xxx_applock_service:service_manager { find };

2.3 查找 te 文件

查找 untrusted_app_25.te 所在位置

root@69959bbb90c6:/home/suhuazhi/8.1/liangxiang# find system/sepolicy/ -name "untrusted_app_25.te"
system/sepolicy/prebuilts/api/26.0/private/untrusted_app_25.te
system/sepolicy/prebuilts/api/26.0/public/untrusted_app_25.te
system/sepolicy/private/untrusted_app_25.te
system/sepolicy/public/untrusted_app_25.te
2.4 修改 te 文件,添加 tclass=service_manager
  1. system/sepolicy/prebuilts/api/26.0/private/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/prebuilts/api/26.0/public/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/private/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };
  1. system/sepolicy/public/untrusted_app_25.te
allow untrusted_app_25 xxx_applock_service:service_manager { find };

3.拓展阅读

https://www.2cto.com/kf/201611/562711.html

这篇关于Android 8.0 SE-Linux 问题解决-untrusted_app_25的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695253

相关文章

504 Gateway Timeout网关超时的根源及完美解决方法

《504GatewayTimeout网关超时的根源及完美解决方法》在日常开发和运维过程中,504GatewayTimeout错误是常见的网络问题之一,尤其是在使用反向代理(如Nginx)或... 目录引言为什么会出现 504 错误?1. 探索 504 Gateway Timeout 错误的根源 1.1 后端

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet