I have been wondering for quite some time now; where does Android store it's user and group id information?
For instance, on standard Linux, user and group information is stored in /etc/passwd
and /etc/group
, respectively. When you add a user to a group, his or her username/uid gets added to the list of users in that group, for instance the my audio group entry in /etc/group
looks like this:
audio:x:29:pulse,edge-case
Where pulse gets mapped to the uid of the pulseaudio daemon and edge-case gets mapped to my uid (1000), on my Linux box.
As I understand it, each app that gets installed on Android gets it's own uid and gid and this is the bases of the "sandboxing" of apps that occurs on Android as they all run in their own process and can't access data of another process or files owned by another app unless there are declaration in a Manifest file created by app programmers which dictates what info is to be shared to other apps and what not. This is also how apps gain or rather request access to networking services during installation by requesting to be added to the INTERNET group or something like that, don't quote me on the name of the NET net group, it might be more like INET or INET6, either way I know there are several levels of network access that can be granted to an application through this mechanism on Android.
My question is, where is this information stored in Android?
Further more, is it possible to modify?
I would like to integrate a glibc stack with it and the data within it in my /etc/{passwd,group}
files, trust me, they exist on my phone, I even have apt installed with a lot of other goodies.