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
程序员升职记第28关三排序代码使用ADB命令卸载安卓设备上的应用centos7部署springboot jar包网上赚钱的门路方法,大部分人都是利用这三种方法!每周计划思维导图模板mac解决Enter passphrase for key每次输入密码PHP 先返回结果到前端,PHP代码继续执行后续的任务MariaDB数据库用户创建/删除及权限授权/撤回Docker容器和镜像的导入、导出天猫等网店要挟用户成风?要硬钢!别惯他们臭毛病