Android系统从面世以来,就以开源和开源的姿态赢得了巨大的市场。开源就意味着任何人可以修改系统,并将系统安装至任意设备上,无需为Google支付任何费用。
即使姿态如此开放,Google及Android阵营的手机厂商依然有自己的一些小算盘——比如对于Google自家服务的代码,依然是不开源的;而为了保证一些用户体验的完整性及政策限制,厂家通常会对用户修改系统的操作进行一些限制。
这时候,Root这个词就横空出世了。依托Root操作,用户可以随心所欲进行一些高阶操作,无需寄人篱下。但Android一直都有安全性的疑虑,因此,对于许多人来说,Root or not Root,this is a question,现在就揭秘什么是Root,以及Root设备的正确姿势。
所以Root究竟是个什么鬼!
很久很久以前,有一个国家,这个国家名叫做Android,这个国家的使命就是为国境线外的人——我们就称之为使用者吧——提供各种信息和服务。刚开始,这个国家是没有人民的,只有一个叫Root的国王(实际上,基于Linux开发的操作系统的超级账户通常都是这个用户名)。但后来,他们的国王会接待到许多的移民,他们个个都有自己的本领。比如,有的移民能帮使用者聊天,有的能为使用者提供新闻资讯,有的还能提供影评。
移民越来越多,但这个国家却没有乱套,因为国王为每个移民都登记了身份证。大家都遵守规矩,所有国民都在为使用者服务着。到了后来,使用者对介绍新移民的那个移民说,以后我在你这里引入新的移民,能不能在后台安装?那个移民就说,我做不到呀,因为我不是国王。国王说,引入新移民必须要你知道才行。
使用者说了,你伪造一下身份不就可以了?然后,使用者就指使它假冒了身份证,说自己是国王,为新移民颁发了身份证,并在户口登记簿上登记了新移民的名字——这些原本应该是国王才能做的事情。
所谓的获取Root权限,就是这样的原理。在Android的沙盒机制之下,每一个App都对应系统中一个独立的账户,以保证App间数据及运行的独立。当某个App伪造成为Root账户运行一个进程,那么这个App就获取到了Root最高权限。