您的位置:首页 > 移动开发 > Android开发

Android的安全机制和su概述

2015-08-28 17:30 393 查看
linux的用户分为UID GID以及Supplementary GIDs

进程也分为UID,进程的UID限制了进程只能访问UID目录

创建进程的UID本质上是从init进程fork出来的,也就是继承父进程的UID,但是系统可以setuid设置UID,比如登陆某个用户就会设置。

Android的一个apk对应着一个UID,permission对应着GIDs,当android的进程创建时activityManagerService会给apk分配一个UID 主GID以及GIDs,然后告诉zygote进程,这样fork出来的apk进程就是有对应权限的apk了

android apk有一个属性android:sharedUserId 设置这个的两个签名相同的apk就具有相同的UID了,数据可以互相访问,也可以设置为android.uid.system,就可以获得system的uid,不过需要用到系统签名了

su的原理是:权限除了r w e 还有一个suid 有这个权限的文件,比如 su 当一个进程exec这个文件时,这个进程就会获得这个可执行文件的所有者UID,也就是root,然后,一般会fork出来子进程来执行你想干的任何事,supersu这个app就是控制是否允许fork出子进程,起到保护作用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: