Root

小弟的文章内常常会看到一个词"Root",对于Android或Linux不清楚的朋友可能会对这个词有疑惑,在此作个简单说明。
因Android是Google基于Linux所发展出的作业系统,基本上继承了Linux的大部分特性。其中一个就是使用者权限

借用鸟哥的私房菜内,关于使用者身分切换的说明

  • 使用一般帐号:系统平日操作的好习惯
    事实上,为了安全的缘故,一些老人家都会建议你,尽量以一般身份使用者来操作 Linux 的日常作业!等到需要设定系统环境时, 才变换身份成为 root 来进行系统管理,相对比较安全啦!避免作错一些严重的指令,例如恐怖的『 rm -rf / 』(千万作不得!)

  • 用较低权限启动系统服务
    相对于系统安全,有的时候,我们必须要以某些系统帐号来进行程序的执行。 举例来说, Linux 主机上面的一套软体,名称为 apache ,我们可以额外建立一个名为 apache 的使用者来启动 apache 软体啊,如此一来,如果这个程序被攻破,至少系统还不至于就损毁了~

由于上述考量,所以我们都是使用一般帐号登入系统的,等有需要进行系统维护或软体更新时才转为 root 的身份来动作。 (以下略~~)

 

再摘录Cyanogenmod网站内对于Root的说明(括号内为小弟的翻译)

Like ROM, root can mean several different things, depending on the context:

  • 'root' is the name for administrator in Android and other Unix based systems.('root'是Android或Unix为基础的系统管理者)
  • 'root' also means having administrator powers.('root'亦表示取得系统管理者权限)
  • 'root' is the lowest level one can go in a file system. In other words, it is / in Linux or C:/ in Windows.('root'是档案系统中的最底层,换言之即为Linux的/或是Windows的C:/)
  • 'rooting' is the process of acquiring root (or administrator) privileges on the device.('rooting'表示在装置上取得系统管理者权限的动作)

Example: You need to root the device so that you can have root access to the root of the file system.(以下略~~)

 

如上所述,为避免一些对于作业系统有危险性的作业,在一般使用者不知情的状况下被执行而造成系统的毁损,故Android/Linux对于一般使用者并不会开放对系统有特殊动作的权限。
为达一些特殊目的(如超频,调降电压等等),需有系统管理者权限才能执行,但Android一般预设并未开放这样的权限,所以需要借由root的动作来取得系统管理者权限
请特别注意,一般Android装置制造商针对root的动作视为对装置的自行修改,通常以破坏原厂保固判定
故您的装置如有故障要回原厂送修,请记得要先将装置的root取消,以避免因为Root而遭原厂判定自行改机而破坏保固。

最后再摘录网友changyy的网志内关于Android root的原理供大家参考

Root 原理:

整个流程目的是将修改后的 su 指令摆进 /system/bin 目录中(有的还会提到 /system/xbin),然而,预设系统是 Read Only 的,所以想办法取得 root 权限,接著将系统弄成 Writable 后,把修改过的 su 摆好位置,除此之外,则是将 Superuser.apk 摆进 /system/app ,对 /system/app 目录进行动作,等于安装一套软体,同理把程式移出去就代表移除,实际例子可参考 [Android] Sony Ericsson XPERIA X8 - 删除内建程式。而 Superuser 这是一款可以管理 root 权限的程式,可以在 Android 手机上操作使用,常常被用来判断你的手机是否 root 过,因为修改过的 su 版本都是搭配此程式使用的,故一般有 root 过的手机应该都会装 Superuser 啰 (以下略~~)

 

 

 

 

查看原文 >>
相关文章