2018-06-14 remount uid 1000

Uid 1000

【转】Android中UID机制和共享进程

启动者的Uid是一个System Uid(Android规定android.system.uid=1000,具有该Uid的application,我们称之为获得Root权限)


remount uid

【转】Android Fuse and Runtime Permissions

应用程序 runtime 授权
当被授予运行时权限READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE时,vold 在应用的名字空间上,通过 bind mount 来更新视图。读写storage 运行时权限授权的入口代码是这个:

frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java

grantRuntimePermission
--> onExternalStoragePolicyChanged
-->remountUidExternalStorage
-->mConnector.execute("volume", "remount_uid", uid, modeName);

-->vm->remountUid(uid, mode)

上述核心代码和 zygote 中很类似,不再赘述,至此,才算彻底搞清楚了 Androd M 在外置存储上权限控制的改变和多用户多进程下的安全原理。
系统使用 setns() 函数来实现上述特性。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容