剛開始接觸刷機的朋友碰到最多的一個詞,恐怕就是root了,到底什麼是root,下面我們就會講到。Windows系統大家應該都比較熟悉,其中,管理使用者叫做administrator,在作業系統裡,這個使用者具備最高的許可權,有了它,你可以對作業系統進行各種操作。
那麼,Google的android系統呢?android系統是基於linux的,而linux又是基於unix的,linux和unix都是作業系統的名字,和windows作業系統工作原理不同而已。在unix系統裡面,管理使用者就叫做root,只有root才具備最進階別的系統管理權限。類似於windows裡面的administrator。
unix系統提供一個命令,名字叫:su,什麼是su呢?
再說下我們熟悉的windows吧,在windows裡面,如果你使用一個非管理使用者登陸系統,有時候我們又需要在管理使用者下才能完成一些工作,比如,有些程式就需要用管理員的身份來運行,怎麼辦?一個是登出該使用者,然後用管理使用者登陸,還有一種方法,在windows7裡面,我們可以通過右鍵,選擇“以管理員身份運行”來完成我們要做的工作,這樣就不用來回切換使用者了。
那麼在linux下面,su就是用來完成這樣的工作的。當我們需要用管理員的身份來運行程式的時候,我們可以通過su來切換到root使用者下。但官方的手機系統裡面,為了安全起見,是不帶有這個命令檔案的,使得我們無法得到系統管理員的進階許可權。
既然官方沒有給我們提供這樣的便利條件,我們可以自己來創造。前面的文章介紹過,手機的ROM就相當於電腦的硬碟,也有自己的目錄和各種檔案,而我們把su放進rom的相關目錄下(比如system/xbin/)的這個過程就叫做rooting,大家經常在論壇裡看到的,說要把手機root,其實就是說的這個過程,我們稱之為rooting似乎更為恰當些。把su放進手機裡面的同時,我們也就具備了通過su來切換到root使用者的條件。
為了防止不良軟體也取得root使用者的許可權,當我們在rooting的過程中,還會給系統裝一個程式,用來作為運行提示,由使用者來決定,是否給予最高許可權。這個程式的名字通常叫做superuser。
當某些程式執行su指令想取得系統最高許可權的時候,superuser就會自動啟動,攔截該動作並作出詢問,當使用者認為該程式可以安全使用的時候,那麼我們就選擇允許,否則,可以禁止該程式繼續取得最高許可權。
所以,rooting的過程,其實就是往系統裡拷貝su和superuser兩個程式的過程。當然,卸載掉這兩個程式,手機也就失去了切換到管理使用者root的條件。
講到這裡,你應該已經清楚什麼是root了吧。root只是一個使用者帳號,它具備在linux世界裡最高的許可權,我們平時所謂的root,其實應該叫rooting,他是一個過程,是把su和superuser這兩個程式放到手機相應目錄的這樣一個過程。而通常,廠商是不會允許我們隨便這麼去做的,我們就需要利用作業系統的各種漏洞,來完成這個過程。由於手機型號不同,品牌不同,對應的漏洞自然也會不同,那麼,rooting的過程也就會有所不同,所以前面說,沒有一個固定的rooting操作流程就是這個原因了。做完這個工作了,也就可以說:你的手機已經root了。
取得手機的管理員權限可以協助我們更好的使用手機,但同時,使用不當的話也是有一定風險的,這也就是為什麼手機廠商不開放此功能的原因了。