Android APK应用程序运行时的权限与Linux的文件系统权限。

APK运行时的权限是Dalvik授权的,文件系统权限是Linux内核授权。

1)Linux的文件系统权限

就比如 /system/app 里面某一个apk

-rwxr-xr-x system    system     2646964 2013-03-13 10:26 Mp3Player.apk

代表的是相应的用户/所在用户组/其他用户对此文件的访问权限,与此文件运行起来具有的权限完全不相关。

上面的例子只能说明system用户拥有对此文件的读写执行权限;system组的用户对此文件拥有读、执行权限;其他人对此文件只具有执行权限。而apk运行起来后可以干哪些事情,跟这个就不相关了。不是看apk文件系统上属于system/system用户及用户组,或者root/root用户及用户组,就认为apk具有system或root权限

2)APK的运行权限

Android系统有的权限是基于签名的。比如:system等级的权限有专门对应的签名,签名不对,权限也就获取不到。默认生成的APK文件是debug签名的。

另一个APK运行权限规则就是基于UserID的进程级别的安全机制。Android通过为每一个安装在设备上的包(APK)分配唯一的linux
userID来实现,名称为"app_"加一个数字。不同的UserID,运行在不同的进程,所以apk之间默认便不能相互访问。

Android权限是经营在进程层面的,也就是说一个apk应用启动的子进程的权限不可能超越其父进程的权限(即apk的权限),
即使单独运行某个应用有权限做某事,但如果它是由一个apk调用的,那权限就会被限制。Android是通过给子进程分配父进程的UserID实现这一机制的。

技术
©2020 ioDraw All rights reserved
第十一届蓝桥杯 b组企业网络拓扑图让Mac系统始终不休眠的设置技巧抢红包算法--四种抢红包算法对比深入了解vuex,vuex的五个核心属性转换后台返回的这种时间格式2019-04-24T02:30:00.000+00002020年了,前端还有的搞么?要怎么学?Python类(一)BPMN流程图postman简单教程 - - 增删改查接口测试(超详细)