欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android uid 和 gid 安全机制 博客分类: android相关 安全机制 android 

程序员文章站 2024-03-05 08:07:48
...
Android系统是基于Linux内核的,也继承了Linux的基于用户和文件权限的安全机制,并将这种机制用于管理应用程序。


        Linux系统对用户的管理:Linux系统可以有多个用户,每个用户都有一个用户名:UserName,同时拥有一个UserID,两者是一一对应的。每个用户可以属于一个或者多个组。
Linux系统的文件权限机制:每个文件都是属于某个用户的,这个用户称作文件的所有者。文件对于所有者、所有者所在组的用户、以及其它任意用户分别开放了不同的操作权限,操作权限分为:读、写、运行三种。只有获得了文件操作权限的应用才能对文件做相应的操作。这就保护了文件的安全性,保证用户对自己不具备权限的文件是不能进行操作。但是,这种机制太过于机械,有时候需要一定的灵活性,所以就出现了超级用户:root,用户root对所有的文件拥有所有权限。-----我的理解:这是一种对静态文件进行保护的安全机制,即文件对用户开放的权限,是指这个文件被操作的权限。
进一步的解释:所谓某用户对文件具有操作权限。除了在控制台中,直接以用户设分手动进行操作,大多数情况下,所谓用户的操作,就是指用户所运行的进程的操作。以某用户身份运行某个进程时,默认地这个进程所拥有的权限,就是用户的权限。当用户对某个文件拥有读权限时,这个进程就可以读这个文件;当用户对某个文件拥有写权限时,这个进程就可以对这个文件进行改写;当用户对某个目录有些权限时,该进程就可以在目录中创建文件,所创建的文件的归该用户所有。----这时候,这个进程的权限,是主动权限,即进程主动对某些文件进行操作的权限。
用户运行的进程默认的只能拥有用户的操作权限,而不管这个进程对应的程序文件本身有什么权限。这太死板。有时候,某些进程需要临时进行一些root用户才有权限执行的操作。为了满足这种需求,就出现了下面的两个权限:
另外,还有两个很特殊的权限,不是对文件进行描述的,而是对文件运行时的进程进行规定的权限,分别对应为setuid和setgid。拥有这两个权限的文件,在运行时,其runner会获得root权限。


Android,在应用安装成功后,就为其指定了一个系统中唯一的UserName,对应着系统中唯一的UID。这个UserName和UID实际上就是传统上的Linux的userName和UID。




转自http://inspurhjx.blog.163.com/blog/static/201579055201211411036973/
相关标签: android