业界动态
Android 进程和文件的UID/GID
2024-11-01 01:08

1. 平民身份,皇族特权  需求及解决

Android 进程和文件的UID/GID

2. Linux的文件的setUID的标识

4. setUID的安全方式

---------------------------------------------------------

    * 文件是一类资源

    * 在Linux中,一切皆是文件,Socket, Driver

  * 文件资源对不同的Target(用户)的 不同操作权限的需求

    * 如何描述和区分不同的Target? ID -> UID 惟一

    * 某些场景,允许多个不同的Target(用户) 具有一致的操作权限, 用GID(Group ID)。多个用户合一属于一个GID,一个用户合一属于多个GID

    * 文件权限管理: UID(文件的owner,GID, 其他用户

    * 上帝用户: ROOT, 他的UID = 0; 上帝用户永远属于任何UID

ls -l 或者 ll

d rwx r-x r-x   UID  GID

d: 是文件夹

rwx: 文件所属UID1 具有的权限

r-x:    文件所属GID,但不是所属UID1,的UID2具有的权限 <=> UID1属于GID, UID2也属于GID

r-x:  既不是文件所属GID, 也不是文件所属UID1,的 其他 UID3具有的权限。<=>  UID3不属于GID

PID:  进程的Unique Identity(惟一标识)。 每次Running的PID可能相同,或者不同,由系统分配

UID:  进程的身份标识。每次运行,即便重启后默认都相同。 不同的进程允许有相同的UID(用户身份标识

GID: 进程的组身份标识。每次运行,即便重启后默认都相同。不同进程允许有相同的GID(组用户身份标识)。同一个进程允许属于多个GID

GIDs: 进程所属的全部GID

   userId: 10064

    gids: 3003,1006,1015,1023,1028

    不同的系统不同,我们这里讨论Android -- android_filesystem_config.h

   

   

    更多请查看:http://aijiawang-126-com.iteye.com/blog/1046964

   

    上下两张图的映射,就是Name 跟ID(UID, GID) 的映射

    普通的apk运行的时候

     文件的 R/W/X 在系统内部用 3bit表示。 R是最高位,置位为 0x04; W为中间比特,0x02; X为最低比特,置位为0x01

    Shell中表示是,置位使用相应的RWX, 为置位使用-

    2.1 改变文件面向群体的操作权限是,使用chmod, 可以用数字, 也可用助记符

         (a:all, u: owner user, g: group, +:添加权限, -: 移除权限

    举例

   

    2.2 chown用于修改文件的UID 和 GID

          * Shell命令中常用Name的方式修改,而不是ID方式

          * 一般格式: chown newUID : newGID FileName

     * 文件基于UID /GID 划分面向群体, 不同的群体 定义不同的权限

     * 用户的行为映射为进程的运行

     * 进程用UID/GID来标识自己的身份

     * 进程的UID和GID和文件的UID/GID 完美衔接

     * reboot 这个api 在入口 调用时,可以check UID是不是root,如果不是则reject

    * 进程的UID只是泛称, 其实有很多种UID

    * 进程的 Real UID 是进程身份的标识, 用来说明Who am I, 没有实权

    * 进程能做什么 不是有 RealUID来决定的

    * 有身份无权利是不行的, 有权利才能为所欲为

    * Effective UID 是进程的权利的标识, 标识了该进程的“权利”

    * Linux的授权 是 靠 Effective UID 来识别的

    * 有权利就能做一切

    * 之前说明的,文件、资源以及特权API操作权限 是 通过 Effective UID来识别的

    * 默认情况下 Real UID == Effective UID, 所以使用ps命令输出的 就是 Effective UID

    * 我们也可以显示完整的 Effective UID 和Real UID

   

    * Root 用户, 均是指 Effective UID == ROOT的进程

    * 不受任何限制,可以为所欲为

    * ROOT进程可以调用setUID 修改自己的Real UID,它也可以把自己的Effective UID改为普通的UID

    * 在Linux世界里,为了安全考虑,UID世袭规则: 身份可以世袭,权利不能世袭

    * 子进程的 Real UID = Effective UID,  继承 父进程的Real UID

          若父进程的Effective UID 与 Real UID 不一样,则不具有父进程的权利

1. 平民身份,皇族特权(ROOT权限)  需求及解决

    1.1  需求

        * Linux的passwd是一个可执行程序, 用于修改用户的密码

        * passwd需要修改多用户的账号文件(该文件仅能ROOT用户可以读写

        * 但是 普通用户 也要修改自己的密码

        * passwd虽然 是平民身份(由普通用户启动,但是却需要皇族的权限  ---- 身份 和 权利不同

    1.2 解决

       * 临时替身进程的Effective UID, 而维持身份不变(Real UID, 让他能够利用特权,而又不传给子进程

2. Linux的文件的setUID的标志

    文件的Owner UID设置为特权用户(如ROOT

    文件面向 Owner UID的群体和操作权限 增加额外的setUID标志

    Linux系统保证,任何用户(进程)执行该文件时(Fork一个新的进程来加载该可执行文件,子进程的Real UID仍然继承起父进程的RealUID, Effective UID 却被提升 到特权UID

   

    setUID的前提是可执行文件,其他文件不能setUID

    rws,用s替代了x;而且s包含了x

    chmod 4775 test.txt    4就是特殊的设置方法

    chmod 0775 test.txt    0可以清楚该标志

    chmod u+s test.txt 也具有相同的效果

    chmod u-s test.txt

4. setUID的安全问题

    setUID的进程的EUID提升了, RUID没有提升

    但是如果该进程为自己正身(将自己的RUID改成了和EUID一样的)了, 它的所有子进程都具有了该特殊权限

     passwd没有正身

    Android将自己的su 正身了

    以上就是本篇文章【Android 进程和文件的UID/GID】的全部内容了,欢迎阅览 ! 文章地址:http://dfvalve.xrbh.cn/news/9127.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 迅博思语资讯移动站 http://keant.xrbh.cn/ , 查看更多   
最新新闻
“撒旦”人血鞋?碰瓷新疆棉花的耐克,又开始喊冤了?
继主动碰瓷新疆棉花把自己搞得股价大跌之后耐克秉承着“no zuo no die”的精神又开始暗搓搓搞“阴间操作”限量发售含人血的“撒
tiktok怎么搭建外网 详细教程及步骤
TikTok怎么搭建外网(详细教程及步骤)TikTok是一款非常流行的短视频社交应用程序,它在全球范围内拥有数亿用户。在使用TikTok的
《以案释法》步数越多,收益越高?别被“走路也能赚钱”的理财广告忽悠了
  走路也能赚到钱的理财  “丑的人还在睡觉,美的人已经跑出一杯星巴克了。”2016年的一天,一个女孩晒出的朋友圈截图引起了
如何用生意参谋算出同行店铺真实销售额
怎么经过生意顾问算出同行店肆实在销售额?大多数在淘宝天猫工作过的人都知道,他们的背景显现了同行商铺的买卖数据,这被称为买
一款最近比较火的网站统计分析系统,易分析具有什么样的功能呢?
一、产品简介北京普艾斯科技有限公司成立于2009年,服务客户1000+,包括电商、金融、保险、政务服务等行业。私有化部署,全渠道
向佐快乐大本营2024年精彩回顾:四年时光共欢笑
张大大谢娜力捧下的综艺新星张大大一位在娱乐圈中颇具人气的主持人他的成名之路离不开谢娜的提携回顾张大大的成名之路可以说谢娜
PingTools app
《PingTools app》是一款非常好用的实用工具软件,软件内拥有丰富的功能,包含了包括浏览器扫描等。使用非常简单,直接下载安装
抖音能看到谁搜索过自己吗?
尊敬的用户,您好。针对抖音平台是否能够查看谁搜索过自己的问题,我们需要做一些详细说明。首先,根据我们了解到的情况,在抖音
什么是人工智能“语料库”?为什么每个人都在谈论它?
编者按:比尔盖茨(Bill Gates)、Reddit 首席执行官和其他科技领袖越来越多地谈论“语料库”,现在是时候了解它是“何方神圣”
LED行业词语中英对应
1、led 灯具构成英文led 球泡灯:led bulbLed 贴片灯珠:SMD LEDLed驱动电源:led driver隔离电源:isolated driver非隔离电源:
本企业新闻

点击拨打: