If you’re new to Android, have nerdy Android-obsessed friends, or you’re a recovering iPhone Jailbreaker you may have heard the term “root” before, but you might not know what it is. Root is actually a rather complicated subject, so we’re lucky this is a 300-level class and we can talk about it fairly in-depth.
No great super
hero user comes without his origins story and root is no exception. As you may or may not know, Android is actually based on the open-source project, Linux, which is a desktop operating system that runs on millions of devices around the world (even if you aren’t aware). In Linux there is a user built into the system called root. The root user has access to every file on the system, can modify those files, and change permissions on those files. In many cases the root user has a higher level of permission than the machine’s administrator (though he/she can be granted root user powers on a temporary basis).
How is it different on Android?
The main difference on Android is that phone OEMs already have all of the necessary permissions in place when they ship the phone (so there’s no need to change them) and they essentially strip the root user from the system. This prevents certain levels of tampering on the system and in many ways it is important for security.
Most Linux-based systems that ship to the general public come with the root user disabled. This essentially is protecting the end-user from themselves. Most people don’t know what it means to have root access and if they read that they can remove system apps from their phone, they might try to do it to save space (which it won’t anyway) and end up deleting system files that are important for the system to run.
When you remove the root user, though, you open yourself up to a new security hole. If someone is able to find a bug that will let them re-add the root user then there is nothing to stop them from taking advantage of its permissions without limitation and if that someone is also the author of a malicious data-stealing app then (Houston,) we have a problem. That’s why the legacy of Android has been a constant tug-of-war between the OEMs and Google, who have been trying to plug up any potential holes that would allow for root and the rooting community, who, judging by their name might like to have root on their devices.
Why would I care about root?
The bottom line is if you already don’t care then you can probably continuing not to care but you came here to learn things and I’m here to dispense information. The history of Android’s evolution has had a lot to do with the rooting community. Apps like Tasker, Root Explorer, and many others have been around since the beginning and their feature sets have helped to influence what now gets baked into Android by default and in a way has made many users (myself included) less tempted by the mistress root.
Features like granular permissions controls, which are now built into Android 6.0 and Google has been toying with for last last two years, were once only features that were available on custom ROMs (an extension of the rooting community and a topic for another day). If you search for “root” in the Google Play Store there are still plenty of apps that are very useful and require root access to do their job. This list has dwindled a lot over the years, though, as Google implemented the screenshot, torch/flashlight, and transparent status bars into AOSP, all which once required root.
How is it different than Jailbreak?
It used to be that Jailbreaking was significantly different from the process and outcome of rooting but these days they share a lot of similarities and ultimately both are achieving the same goal; to give the user root permissions. When you Jailbreak iOS, which is “Unix-like,” it is giving the user access to the root of the system and installing the alternative app store, Cydia, to the device. From there users can install mods and make other changes to the system that you would expect from a user with a rooted Android device.
The main technical difference is the amount of modification that has to be made to the operating system to get past security measures and achieve the end goal. It’s generally accepted that it is a far greater challenge to jailbreak an iPhone than to gain root on the average Android device, but that isn’t necessarily always true.
I mentioned before that I used to root all of my phones, but these days it doesn’t tempt me as much as it once did. Many applications that we use today also refuse to run if you have root on your device and in some cases that’s a deal-breaker. I don’t use Android Pay often, but when I do it’s sometimes because I forgot to bring my wallet and that McDonald’s breakfast isn’t going to buy itself! The fact of the matter, though, is that most of the things that I used to root my phone for are now built into Android and there’s no need for me to root anymore.
It looks like I’m out of time, but if you have any other questions you can ask them after class. Class dismissed!