android apk的sepolicy domain是如何指定的呢

news/2024/11/15 21:36:10/

1 ps -AZ

可以看到对应进程的sepolicy domain信息

如下面的 platform_app gmscore_app priv_app mediashell_app

u:r:platform_app:s0:c512,c768  u0_a66         954   383 1109868  51060 do_epoll_wait       0 S com.android.systemuiu:r:gmscore_app:s0:c512,c768   u0_a41        1260   383 1251484 106244 do_epoll_wait       0 S com.google.android.gms.persistentu:r:priv_app:s0:c512,c768      u0_a39        1698   383 1331920  51540 do_epoll_wait       0 S com.google.android.katniss:searchu:r:mediashell_app:s0:c34,c256,c512,c768 u0_a34 2308 383 1220064 50232 do_epoll_wait       0 S com.google.android.apps.mediashell

2 哪里指定这些进程的sepolicy domain信息呢

是android aosp code中的有指定:

system/sepolicy/private/seapp_contexts

user=system seinfo=platform domain=system_app type=system_app_data_fileuser=_app seinfo=app_zygote domain=app_zygote levelFrom=user
user=_app seinfo=media domain=mediaprovider type=app_data_file levelFrom=user
user=_app seinfo=platform domain=platform_app type=app_data_file levelFrom=user
user=_app isEphemeralApp=true domain=ephemeral_app type=app_data_file levelFrom=all
user=_app isPrivApp=true domain=priv_app type=privapp_data_file levelFrom=user
user=_app isPrivApp=true name=com.google.android.permissioncontroller domain=permissioncontroller_app type=privapp_data_file levelFrom=all
user=_app seinfo=media isPrivApp=true name=com.android.providers.media.module domain=mediaprovider_app type=privapp_data_file levelFrom=all
user=_app isPrivApp=true name=com.google.android.providers.media.module domain=mediaprovider_app type=privapp_data_file levelFrom=all
user=_app seinfo=platform isPrivApp=true name=com.android.permissioncontroller domain=permissioncontroller_app type=privapp_data_file levelFrom=all
user=_app isPrivApp=true name=com.android.vzwomatrigger domain=vzwomatrigger_app type=privapp_data_file levelFrom=all
user=_app isPrivApp=true name=com.google.android.gms domain=gmscore_app type=privapp_data_file levelFrom=user
user=_app isPrivApp=true name=com.google.android.gms.* domain=gmscore_app type=privapp_data_file levelFrom=user
user=_app isPrivApp=true name=com.google.android.gms:* domain=gmscore_app type=privapp_data_file levelFrom=user
user=_app isPrivApp=true name=com.google.android.gsf domain=gmscore_app type=privapp_data_file levelFrom=user
user=_app minTargetSdkVersion=30 domain=untrusted_app type=app_data_file levelFrom=all
user=_app minTargetSdkVersion=29 domain=untrusted_app_29 type=app_data_file levelFrom=all
user=_app minTargetSdkVersion=28 domain=untrusted_app_27 type=app_data_file levelFrom=all
user=_app minTargetSdkVersion=26 domain=untrusted_app_27 type=app_data_file levelFrom=user
user=_app domain=untrusted_app_25 type=app_data_file levelFrom=user
user=_app minTargetSdkVersion=28 fromRunAs=true domain=runas_app levelFrom=all
user=_app fromRunAs=true domain=runas_app levelFrom=user

user:指apk process的userid,如system app等, ps -AZ的第二列可以看出来

seinfo 可能与apk签名有关系(certificate),如 platform、media 等

isPrivApp: 是指apk存放的路径,是否在priv-app下,android.bp中指定

domain: 分配给apk process的selinux domain信息

type:是该apk process 创建的文件的selinux 信息

具体几个常见的domain:

system_app: userid是system,且是platform签名

        正常apk可以在androidManifest.xml中指定sharedUserId

platform_app :非system userid,正常apk userid, 具有platform签名

priv_app : 非system userid,正常apk userid, 无platform签名,在priv-app下

上述domain信息都有自己对应的sepolicy权限设置,可以具体参考source code中定义

system/sepolicy/private/gmscore_app.te

system/sepolicy/public/gmscore_app.te

system/sepolicy/private/priv_app.te

system/sepolicy/public/priv_app.te

system/sepolicy/private/platform_app.te

system/sepolicy/public/platform_app.te

system/sepolicy/private/system_app.te

system/sepolicy/public/system_app.te


http://www.ppmy.cn/news/174784.html

相关文章

Linux手动配置虚拟机网络的两种方式

nmcli 命令的方式 在我们的ens160网卡上添加ip地址、网关、dns、获取IP方式改为静态、最后connection.autoconnect 设为yes 我们在添加ip时注意添加我们的网段 dns可以是114.114.114.114或者8.8.8.8都可以 [rootredhat ~]# nmcli connection modify ens160 ipv4.addresses 19…

vue3.0+vite+router搭建项目(三):配置vite.config.js

前言:上一篇文章中,我们已经讲解了项目搭建的方法以及过程总出现bug的解决方法。这篇文章主要讲解一下配置。 一、vite 配置别名 使用编辑器打开搭建号的项目 进入配置文件 vite.config.js。 import { defineConfig } from viteimport vue from vitejs…

6---6

#include<stdio.h>int main(void) {int number;printf("Please enter a number:");scanf_s("%d", &number);for (int i 2; i * i < number; i){if ((i * i) % 2 0){printf("%d\n", i * i);}}return 0; }

【概率论基础进阶】随机事件和概率-古典概型与伯努利概型

文章目录 一、古典概型二、几何概型三、伯努利概型 一、古典概型 定义&#xff1a;当试验结果为有限 n n n个样本点&#xff0c;且每个样本点的发生具有相等的可能性&#xff0c;如果事件 A A A由 n A n_{A} nA​个样本点组成&#xff0c;则事件 A A A的概率 P ( A ) n A n …

Oracle 自带性能诊断工具介绍

statspack Oracle Statspack 工具从 Oracle 8.1.6 开始引入&#xff0c;通过 Statspack 可以很容易地收集数据库性能数据&#xff0c;并通过这些数据进而分析确定 Oracle 数据库的瓶颈所在。该工具9i 必用,10g,11g,12c 兼容&#xff0c;后期awr出来后&#xff0c;Oracle 建议…

NTU-RGBD骨架数据分析

参考文献&#xff1a; NTU RGBD动作识别数据集 NTU-RGBD骨架数据分析 NTU-RGBD Dataset NTU RGB D动作识别数据集由56,880个动作样本组成&#xff0c;包含每个样本的RGB视频&#xff0c;深度图序列&#xff0c;3D骨架数据和红外视频。此数据集由3个Microsoft Kinect v.2相…

matlab读取多个文件 tecplot格式数据

平常程序输出的文件格式是.dat 一般用tecplot打开&#xff0c;画些云图&#xff0c;但是原始的数据有时候需要进行处理或者截取&#xff0c;就需要用matlab处理一下&#xff0c;附上我常用的风场文件读取处理程序。 文件格式&#xff1a;第一列x位置&#xff0c;第二列y位置&…

如何计算带有字母的高阶行列式?

这样的矩阵行列式&#xff1a; 肯定不是手算 可以借助Matlab 带有字母的矩阵就是符号矩阵&#xff0c;也就是说如何计算符号矩阵的行列式&#xff1f; syms a11 a12 a13 a14 a21 a22 a23 a25 a31 a32 a33 a36 a41 a44 a45 a46 a52 a54 a55 a56 a63 a64 a65 a66 A [a11 a12 …