重置密碼
作為Linux系統管理員,Linux忘記root密碼怎么辦?或者是在不知道root密碼,想強制更改root密碼。本文章只針對grub方式引導的方式下如何破解Linux的root密碼。我們知道在不知道root密碼的情況下要通過runlevel運行級別為1扡就是我們通過所說的單用戶模式是進行重置root密碼。
下面我們就詳細介紹一下如何破解Linux的root密碼:
1、開啟Linux系統,我這裡用的是RedHat AS5版本的。進入grub引導選單,會出現下面的話:
”Press any key to enter the menu“,這時我們有3秒鐘的時間來按任意鍵進入Grub選單,如何設定這個默認3秒鐘時間,或者我們不想設定默認啟動的系統,請參看:inittab設定。
2、進入grub選單,這裡會列出本機所安裝的多個作業系統,如果只有一個,那么就只顯示一個啟動選單的。這時我們看啟動選單框下面有一行,其中我們按"e"鍵進入grub編輯模式(註:這裡的編輯只對本次啟動有效,不保存入grub.conf檔案的)
3、移動鍵盤,選擇第二列kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quit 這一行,其中這裡也就是我們可以重置root密碼的關鍵。再根據螢幕下面的提示,我們按”e“鍵。進入編輯模式。
4、將kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quit更改為kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ 1 rhgb quit(注意添加的1前後空格),更改後我們按esc退出編輯模式。回到上級選單,再按b鍵啟動系統。(當然這裡我們也可以把1寫成single,也表示單用戶模式)
5、成功啟動系統,這時系統不會提示我們輸入任何信息,直接進入系統,這時我們全可以修改root密碼了,使用passwd命令,如passwd root,系統讓我們輸入自己的新的root密碼並確認一遍。設定完畢,重啟系統reboot。這樣我們便成功更改了這台Linux系統的root密碼。
Root原理
目前獲取Android root許可權常用方法是通過各種系統漏洞,替換或添加SU程式到設備,獲取Root許可權,而在獲取root許可權以後,會裝一個程式用以提醒用戶是否給予程式最高許可權,可以一定程度上防止惡意軟體,通常會使用SuperSU,這種方法通常叫做“不完全Root”。而“完全ROOT”是指,替換設備原有的ROM,以實現取消secure設定 。
通過ADB可以直接將SU程式放入到系統。首先分析Android自帶su原始碼,由於源碼較多,下面摘錄最重要幾行 。
intmain(intargc,char**argv)
{
/*Untilwehavesomethingbetter,onlyrootandtheshellcanuse
su.*/
myuid=getuid();
if(myuid!=AID_ROOT&&myuid!=AID_SHELL){
fprintf(stderr,"su:uid%dnotallowedtosu\n",myuid);
return1;
}
if(execvp(argv[2],exec_args)<0){
}
/*Defaultexecshell.*/
execlp("/system/bin/sh","sh",NULL);
}
可以看出只允許getuid()為AID_ROOT和AID_SHELL的進程可以繼續執行,否則直接返回,這就決定了只有當前用戶為root和shell才能運行su。接下來執行execvp(argvexec_args),su並沒有通過fork去創建一個新的進程,而是直接把自己啟動一個新的進程,此時原先執行的程式實際上由su來創建的。通常情況下,執行su並不會帶參數,於是它會執行execlp("/system/bin/sh","sh",NULL);通過命令行查看此程式許可權ls–l/bin/su-rwsr-xr-x1rootroot368642010-01-2701:09/bin/su由上可以看到,su的所有者和所有組都是root,並且其設定了SUID和SGID。因此下面介紹Linux中實際用戶ID和有效用戶ID概念:實際用戶ID和實際用戶組ID:標識我是誰。也就是登錄用戶的uid和gid。有效用戶ID和有效用戶組ID:進程用來決定我們對資源的訪問許可權。一般情況下,有效用戶ID等於實際用戶ID,有效用戶組ID等於實際用戶組ID。當設定-用戶-ID(SUID)位設定,則有效用戶ID等於檔案的所有者的uid,而不是實際用戶ID;同樣,如果設定了設定-用戶組-ID(SGID)位,則有效用戶組ID等於檔案所有者的gid,而不是實際用戶組ID。由此可以得出,當一個其他用戶或者用戶組的進程來執行su的時候,正常情況下會因為用戶ID不是root而被拒絕。但是,如果它能夠跳過檢查UID這一步,即能夠使自己的進程獲得和su相同的root的許可權 。
這樣就可以看出Android系統的破解的根本原理就是替換掉系統中的su程式,因為系統中的默認su程式需要驗證實際用戶許可權(只有root和shell用戶才有權運行系統默認的su程式,其他用戶運行都會返回錯誤)。而破解後的su將不檢查實際用戶許可權,這樣普通的用戶也將可以運行su程式,也可以通過su程式將自己的許可權提升 。
就是通過各種手段偷天換日,換掉原生的su,將自己的臥底su替換到system/xbin,system/sbin/,sbin等這些目錄。當然,這種偷天換日也是相當有難度,破解軟體八仙過海,各顯神通,其中有一種通過燒寫eng版本boot.imag。
在Unix系統(如AIX、BSD等)和類UNIX系統(如Debian、Redhat、Ubuntu等各個發行版的Linux)中,系統的超級用戶一般 命名為root。root是系統中唯一的超級用戶,具有系統中所有的許可權,如啟動或停止一個進程,刪除或增加用戶,增加或者禁用硬體等等。
root就是手機的神經中樞,它可以訪問和修改你手機幾乎所有的檔案,這些東西可能是製作手機的公司不願意你修改和觸碰的東西,因為他們有可能影響到手機的穩定,還容易被一些黑客入侵(Root是Linux等類UNIX系統中的超級管理員用戶帳戶。)
“root”是安卓系統中的 最高管理員,獲取它也就代表你可以隨意控制該系統中任意一項功能。生產廠商是不會給手機配置root許可權的。注意:獲取root許可權是有 風險的,不要隨便嘗試。
許可權作用
1、可以備份手機系統和軟體套用等重要的私人資料(包括可以備份聯繫方式、簡訊、手機系統等),這樣即使手機出現故障丟失了相關數據,也可以在備份中還原。
2、使用高級的程式,例如RE管理器、省電大師、甜椒刷機助手等等,
3、可以修改手機系統,也就是root後可以給安卓手機刷機,體驗不同安卓系統的樂趣。修改系統的內部程式和檔案,如修改build.prop來DIY手機信息
4、可以把一些程式套用安裝在SD卡上(Android2.2以下默認是不支持的),減輕手機負擔。
5、可以卸載系統程式(需謹慎使用),可以刪除原廠系統自帶的感覺沒什麼用的軟體。
6、可以管理開機啟動項,禁用不需要後台運行的程式,進行手機省電最佳化。
其它好處
一 最重要的是 我們可以漢化
擁有root許可權,我們就可以載入漢化包,實現系統漢化!這主要是針對那些自帶默認語言為非中文漢語的安卓手機,這些手機原本是面向非中文國家和地區銷售的,但最後有中文漢語的用戶也在使用,為了能更好地使用這些手機,符合國人的操作使用習慣,就必須對這些手機漢化系統。
二 我們可以通過ABUS查看已安裝的軟體
雖然沒有ROOT許可權,我們依然可以通過ABUS來安裝軟體和遊戲,但是如果擁有root許可權的G1,我們可以通過ABUS查看其安裝過的軟體列表,方便我們管理。
三 我們可以更改主題
我們可以通過升級update.zip來實現更換主題的功能,當然update.zip包並不是一個單獨的主題檔案,其實就是升級一下,
不過如果沒有root許可權,我們就不能實現更換主題的功能
四 我們可以正常使用一些軟體 比如Screenshot
很多軟體是需要訪問並讀寫內部root的,比如Screenshot,就必須有root許可權才可正常使用,如果相應的,我們獲得了root許可權,那么有些軟體就可以正常使用,並能發揮其特性了。
新版系統
ro ot新版系統的過程相對簡單,至少符合特定的要求。運行Android L的Nexus 5和Nexus 7(2013)用戶需要先刷入定製Recovery和Chainfire SuperSU,然後再刷入與自己設備相匹配的鏡像便可。
但如外界所預料的那樣,即使獲取了root許可權,應用程式已經無法像從前那樣在系統分區進行寫入了。不過升級到了新安全環境的套用依然可以訪問系統分區 。
考 慮到並非所有套用都已獲得升級,因此許多需要root許可權的套用在Android L當中都無法正常工作,比如鈦備份。但隨著越來越多的套用進行升級,Android L的root許可權也將會變得更加實用
需要許可權
1.Hacker,喜歡對系統進行Hacking的人.
2.開發人員,命令行控制設備是必須的。
3.普通用戶,一些特殊軟體安裝不了,要求ROOT許可權。
4.一個軟體超級體驗狂,每天不下載50個應用程式嘗試,晚上就睡不著。Android手機自帶存儲空間太小,所以要將軟體裝到SD卡上。
5.買Android就是為了自己可以有選擇性的定製系統,否則就會選擇入手iPhone了。
不需要者
1.對於不懂任何命令行和sdk的東西的人。能隨著官方的升級而自動更新(OTA),不想每次更新都要刷一下機器。
2.一年也下不了10個軟體的人,Android手機自帶的商務功能完全夠我用了,不想折騰手機.
3.對手機系統不了解,不想麻煩安裝軟體,怕將手機系統弄壞。
4.行貨手機ROOT後,不能保修請慎重操作
5.N7100請注意可90% root!
注意事項
1.root許可權可能影響手機保修。
2.獲取root許可權的過程中會有病毒的侵入。
3.使用不當會導致系統損壞。
4.提權有風險。
5.提權成功後,會導致系統不穩定。
6、備份手機的重要資料檔案,包括手機里的軟體,通訊錄,簡訊等,而且最好提前下載好一個官方包預備著,以免在root過程中數據丟失或者使機器無法正常開機 。
7、安裝軟體時嚴格控制程式的授權請求,防止許可權被惡意軟體利用 。
8、保證手機擁有足夠的電量,理論上來說要讓手機電量在50%以上,不過這裡小編建議儘量是滿格的情況下進行,如果在root過程中出現差錯,在電量充足的情況下我們能夠及時校正 。