用户/组ID信息存储在Android上的什么位置,该如何解释?
我一直想知道已经有一段时间了。Android在哪里存储用户和组ID信息? 例如,在标准Linux上,用户和组信息分别存储在/etc/passwd和中/etc/group。当您将用户添加到组中时,其用户名/ uid将被添加到该组中的用户列表中,例如,我的音频组条目/etc/group如下所示: audio:x:29:pulse,edge-case 在我的Linux机器上,其中pulse被映射到pulseaudio守护程序的uid,边缘情况被映射到我的uid(1000)。 据我了解,安装在Android上的每个应用程序都具有自己的uid和gid,这是在Android上发生的应用程序“沙箱”的基础,因为它们都在各自的进程中运行并且无法访问其他应用程序的数据进程或其他应用程序拥有的文件,除非应用程序程序员创建的清单文件中有声明,该声明规定哪些信息要共享给其他应用程序,哪些则不共享。这也是应用程序在安装过程中通过请求被添加到INTERNET组或类似的方式来获得或请求访问网络服务的方式,不要在NET网络组的名称上引用我,这可能更像是INET或INET6,无论哪种方式,我都知道可以通过Android上的此机制将多个级别的网络访问权限授予应用程序。 我的问题是,此信息在Android中存储在哪里? 更进一步,是否可以修改? 我想将glibc堆栈与其内部的数据集成在一起 /etc/{passwd,group}文件中,相信我,它们存在于我的手机中,我什至还安装了许多其他好东西。 更新:进行了更多搜索,并且 这可能就是我想要的。 我将需要更深入地研究,并确保它是我想要的一切。 更新:(2014年6月27日5:40) 由于有人认为我不知道我在做什么或在说什么,所以让我澄清一下; 当映射到用户编号_应用编号时,Android上的用户UID偏移100000,而应用UID偏移10000,因此,当ps显示类似u0_a10之类的字样时,表示UID 100000的用户正在运行UID 10010的应用, 我从system / core / include / private / android_filesystem_config.h中提取了UID和用户/守护进程的名称,并使用它们来更新我的/ etc / passwd和/ etc / group文件(在我的Android机器上),例如我的/ etc / passwd文件(在我的Android机器上)如下所示: .... brainard:x:100002:100002:Professor Brainard,0420,,:/home/brainard :/bin/bash radio:x:1001:1001::/data/radio:/bin/false bluetooth:x:1002:1002::/data/bluetooth:/bin/false graphics:x:1003:1003::/home/graphics:/bin/false input:x:1004:1004::/home/input:/bin/false camera:x:1006:1006::/home/camera:/bin/false log:x:1007:1007::/home/log:/bin/false compass:x:1008:1008::/home/compass:/bin/false mount:x:1009:1009::/home/mount:/bin/false wifi:x:1010:1010::/home/wifi:/bin/false adb:x:1011:1011::/home/adb:/bin/false …