Android的安全机制和su概述

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出子进程,起到保护作用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值