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 囉 (以下略~~)

 

 

 

 

arrow
arrow

    小男 發表在 痞客邦 留言(0) 人氣()