android app对应的SELUNX 和 Android 权限

自主访问控制DAC(Discretionary Access Control):

文件的权限,用户/用户组/其他 -> 对应的读写权限为:执行:1 ;写入:2 ;读取: 4 ; 这些权限可以进行组合:1,2,3,4,5,6,7
1. 改变文件所属用户 : chown 用户 文件
2. 改变文件所属用户组 : chgrp 用户组 文件

SELinux(Security-Enhanced Linux):

SE LINUX 是在 DAC的基础上,还需要进行再次进行判断。
每个进程和系统资源都有一个特殊的安全标签,资源能否被访问除了DAC规定的原则外,还需要判断每一类进程是否拥有对某一类资源的访问权限。

SELinux分为三种模式:

permissive:SELinux仅打印告警而不强制执行。
enforcing :SELinux安全策略被强制执行。
disabled :不加载SELinux安全策略。

SELINUX 对应的应用的分类:

平台签名:Android.mk 中,定义 LOCAL_CERTIFICATE := platform
system权限:AndroidManifest.xml 中声明 android:sharedUserId=“android.uid.system” ,同时是平台签名

分类:
1. untrusted_app 第三方app,没有Android平台签名,没有system权限
2. platform_app 有android平台签名,没有system权限
3. system_app 有android平台签名和system权限
4. priv_app 没有platform签名的app(肯定没有system权限), 但Android.mk 中 LOCAL_PRIVILEGED_MODULE := true, 在priv-app 目录下的

应用的安装目录:

system/app 系统自带的应用程序,无法删除。root后可以删除 {普通系统应用 (pkg.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0}
system/priv-app 比system/app 中的应用权限更加高,如Launcher,系统设置等,对应的权限为:signatureOrSystem | signature|privileged {特权系统应用 (pkg.applicationInfo.privateFlags & ApplicationInfo.PRIVATE_FLAG_PRIVILEGED) != 0}
vendor/app 设备厂商提供的app
system_ext/app 真实路径在 system/system_ext/app
data/app 用户自己安装的app
vendor/app 设备厂商提供的app
system_ext/app 真实路径在 system/system_ext/app
data/app 用户自己安装的app

android 的 权限类型:
	1. 安装时权限
		1> 普通权限 (normal)
		2> 签名权限  (signature)
	2. 运行时权限需要动态申请 (dangerous)
	3. 特殊权限 (appop)

参考资料:
https://cn.apkjam.com/system-app.html
https://developer.android.com/reference/android/Manifest.permission?hl=zh-cn
https://docs.openeuler.org/zh/docs/20.03_LTS/docs/SecHarden/SELinux%E9%85%8D%E7%BD%AE.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值