Hello, all. Before I rooted my Incredible one of the reasons I was apprehensive was because I didn't understand what I was doing. I got that I would have complete access to my OS, but I didn't know how or why. I went on to root, and have learned a bit here and there, but I wanted to throw out my interpretation of how the rooting process works based on the Linux kernel. I am still trying to learn, so this is more me asking for confirmation rather than passing along info to other users. Anyway, here it goes, pleas let me know if a have a decent grasp on the subject:
OK so on a non-rooted device, I would essentially have what would be considered a normal user account with a non root UID. This grants me a level of access sufficient enough to read only some system settings and change things such as wallpapers, ringtones, etc. It does not grant me write ability to write/change system files/settings or mess with anything in the core OS, or change anything important enough brick my device or render the operating system inoperable. In Linux, when you log onto the system as root there are essentially no safety mechanisms in place in case of an error, as Linux is set up to give root users complete control to change the system as to meet their needs.
Now when I root this device, it would be the equivalent to logging onto the system as a root user rather than a normal user. As root, I now have full read/write access to everything, including crucial OS files. Just like it gives you the power to add some increased functionality, it also gives you the power to cripple your device completely, with one simple wrong command. I now have access to everything and can change anything, both for good and bad.
Now su is where I get a little confused. I believe in a standard Linux system, su, which stands for substitute user, gives you the option to make root level changes without actually logging off as a user and logging on as root. So from what I understand, you run su, enter the root password, then you can complete the command/process that requires root, and then exit su and return to normal user status. I think that is correct. However, on Android I am a little confused with a part of this. Let's take the "Shoot Me" app. When I start that app I grant it su permission. That means it has access to root. But when I am done with it, does that access get denied? When I click "remember" and grant su permission, does it keep su status when the app is closed, or is clicking the "remember" option just mean that it is granted su every time I open the app, then it loses su when I close it, meaning I don't specifically have to grant that permission each time I use the program as my choice is remembered. I was just curious to that part. I see how on a full computer OS that could be dangerous having a process or program sitting in the background with su permissions. On my phone it doesn't seem as big an issue, but still has me curious.
Ok, well, thats what I get out of it. I am hoping I am starting to get a grasp on it anyway. I would appreciate anyone jumping in and correcting me if I got anything wrong, or letting me know if that was pretty accurate. Thanks.
OK so on a non-rooted device, I would essentially have what would be considered a normal user account with a non root UID. This grants me a level of access sufficient enough to read only some system settings and change things such as wallpapers, ringtones, etc. It does not grant me write ability to write/change system files/settings or mess with anything in the core OS, or change anything important enough brick my device or render the operating system inoperable. In Linux, when you log onto the system as root there are essentially no safety mechanisms in place in case of an error, as Linux is set up to give root users complete control to change the system as to meet their needs.
Now when I root this device, it would be the equivalent to logging onto the system as a root user rather than a normal user. As root, I now have full read/write access to everything, including crucial OS files. Just like it gives you the power to add some increased functionality, it also gives you the power to cripple your device completely, with one simple wrong command. I now have access to everything and can change anything, both for good and bad.
Now su is where I get a little confused. I believe in a standard Linux system, su, which stands for substitute user, gives you the option to make root level changes without actually logging off as a user and logging on as root. So from what I understand, you run su, enter the root password, then you can complete the command/process that requires root, and then exit su and return to normal user status. I think that is correct. However, on Android I am a little confused with a part of this. Let's take the "Shoot Me" app. When I start that app I grant it su permission. That means it has access to root. But when I am done with it, does that access get denied? When I click "remember" and grant su permission, does it keep su status when the app is closed, or is clicking the "remember" option just mean that it is granted su every time I open the app, then it loses su when I close it, meaning I don't specifically have to grant that permission each time I use the program as my choice is remembered. I was just curious to that part. I see how on a full computer OS that could be dangerous having a process or program sitting in the background with su permissions. On my phone it doesn't seem as big an issue, but still has me curious.
Ok, well, thats what I get out of it. I am hoping I am starting to get a grasp on it anyway. I would appreciate anyone jumping in and correcting me if I got anything wrong, or letting me know if that was pretty accurate. Thanks.