From a layman point of view, one would say, "Oh, I'm unrooted so I am blocked and access is not allowed." I want the programmatic point of view; telling me how an unrooted device doesn't have access to the whole filesystem, etc., and how a rooted device has that access.


1.Is the filesystem set by default to disallow reads/writes to /system, /sys, /data, etc.?

2.Is there something stored in /system or /data (such as a program, block device/file, etc.) that the unrooted OS runs that limits system-wide access on several tasks that rooted users have?

3.Does the default "unrooted" OS actually have system-wide prevention of unrooted access?

Because look at it this way: to "root" your device something must be changed, right? So the "rooting program" or process must entail how this restriction is circumvented. Does anyone here/can anyone link to anything (or explain it) that explains this process of how the rooting progress allows users access they weren't normally given by default (programmatically; not details on steps to follow in a rooting process and not info on how to root on your phone from a user's point of view; from a developer's point of view).

Best example: Say I'm an Android developer and I wish to learn how to create a rooting program. What would I, for example, need to know to do this?

  • 1
    The vendors want to make as much money off you as possible; and they don't want to have to provide tech-support if you shoot yourself in the foot. So the normal "user" of a phone does not have full rwx permissions everywhere. To root a phone, you need to "exploit" a mistake (a hole) left by the vendor in your version of hardware/software (they tend to fix them all the time) to run a program of your creation with full root (user id 0) permissions. That program can then leverage everything else.
    – ericx
    Aug 2 '14 at 1:17
  • Your question is less about rooting, as much more about how permission management works, and how partitions are mounted. You might wish to see our file-permissions tag-wiki for a start. These are rather generic Linux topics than an Android issue ;)
    – Izzy
    Aug 2 '14 at 16:35

Root is a Linux term for the highest level administrator. To root your phone means giving yourself root level privileges. These privileges include being able to manipulate the file systems protected partitions. To root is an exploit in Android to give yourself this ability.

Not the answer you're looking for? Browse other questions tagged or ask your own question.