`
蓝月儿
  • 浏览: 48277 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

android uid 和 gid 安全机制

阅读更多
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安全机制 PPT版本

    Android应用程序在安装的过程中,安装服务PackageManagerService会为它们分配一个唯一的UID和GID,以及根据应用程序所申请的权限,赋予其它的GID。有了这些UID和GID之后,应用程序就只能限访问特定的文件,一般就是...

    深入理解docker容器中的uid和gid

    本文我们将尝试了解用户名、组名、用户 id(uid)和组 id(gid)如何在容器内的进程和主机系统之间映射,这对于系统的安全来说是非常重要的。说明:本文的演示环境为 ubuntu 16.04(下图来自互联网)。 先来了解下 uid 和...

    Android 安全机制

    Application 分配不同的 uid 和 gid , 从而使得不同的 Application 之间的私有数据和访问( native 以及 java 层通过这种 sandbox 机制,都可以)达到隔离的目的 。 与此 同时, Android 还 在此基础上进行扩展,提供了 ...

    kernel修改支持uid,gid等

    kernel修改支持uid,gid等kernel修改支持uid,gid等

    Linux 基础 72-用户管理-03-id查看UID和GID以及passwd文件介绍.flv

    Linux 基础 72-用户管理-03-id查看UID和GID以及passwd文件介绍.flv

    基于GID的车联网数据安全方案.pdf

    基于GID的车联网数据安全方案.pdf

    docker-uid-gid-fix:设置容器内主机安装目录的正确所有权的另一种方法

    如果我们使用--volume /host/data/:/srv/myservice安装到--volume /host/data/:/srv/myservice容器,则无法保证该容器具有uid和gid匹配777:888 。 假设容器中有myservice用户,该用户应拥有/srv/myservice 。解决...

    android 电阻触摸屏校验源码及分析 for android 2.1

    最近做了个android 电阻式触摸屏的校验,分析请参考我blog的文章。 少上传了property_service.c 只修改了这个函数 static int check_perms(const char *name, unsigned int uid, int gid) { int i; if (uid == 0) ...

    GID10.0中文使用说明书.pdf

    GID中文说明书

    GID9.0使用说明书

    GID是数值模拟通用的前后处理软件。...包括大多数情况下的结构和建筑力学、流体动力学、电磁学、热转换、地质力学等,用有限元、有限空间、边界元素和基于点的数值程序来处理。这是GID9.0的使用说明。

    GID 8.0.9 WIN32

    试用版的GID 8.0.9,如果有人能提供破解后的版本就好了。

    cwRsync 错误 uid/gid 4294967295 (-1) is impossible to set on

    uid 4294967295 (-1) is impossible to set on “/cygdriver/…” 或者 gid 4294967295 (-1) is impossible to set on “/cygdriver/…” 这是程序的bug,但不影响使用。 如果不想看到提示这些错误 1、可以在客户端...

    munge:MUNGE(MUNGE Uid'N'Gid Emporium)是用于创建和验证用户凭证的身份验证服务

    MUNGE( MUNGE Uid'N'Gid Emporium )是用于创建和验证用户凭证的身份验证服务。 它被设计为具有高度可扩展性,可用于HPC群集环境。 它提供了一个可移植的API,用于将用户的身份编码为防篡改凭据,该凭据可以由不受...

    proxmox-lxc-idmapper:Proxmox非特权Containerhost uidgid映射语法工具

    Proxmox非特权容器/主机uid / gid映射语法工具 什么 如果以非特权模式运行Proxmox LXC容器,并且必须有容器uid / gid来承载uid / gid映射,则此工具将提供所需的正确语法。 它不会自行修改任何文件。 为什么 LXC uid...

    GiD新功能中文版

    GiD新功能中文版,主要包括10.0版本中新功能的介绍

    GID用户界面的定制

    利用GID 提供的用户定制功能,结合有限元计算程序,开发了数据自动处理模块。 该模块有效的解决了手工填写数据文件繁琐易错的问题,提高了效率,使得GID 能够同时解 决有限元建模、数据处理、计算、结果分析等一系列...

    gid二次开发说明

    该文档讲述了GID二次开发的方法。GID是一个通用的、适应性强和用户界面友好的图形用户界面,用于几何模拟、数据输入、模型转换、网格和可视化的结果,对所有类型的数值仿真包都适用。

    gid学习资料

    gid学习资料

    易语言GID管家界面

    易语言GID管家界面源码,GID管家界面,子程序_自绘窗口,子程序_初始皮肤数据,子程序_初始按钮数据,子程序_添加导航按钮,子程序_选中导航按钮,子程序_画背景,子程序_画控制按钮,子程序_画导航按钮,子程序_容错处理,子...

Global site tag (gtag.js) - Google Analytics