很多新手當面對“忘記 root 賬戶密碼導致無法登陸系統”這個問題時,直接選擇重新系統。其實大可不必,我只需要進入 emergency mode(單用戶模式)更新 root 賬戶的密碼即可。
Linux 的單用戶模式有些類似 Windows 的安全模式,只啟動最少的程序用於系統修復。在單用戶模式(運行級別為 1)中,Linux 引導進入根 Shell,網絡被禁用,只有少數進程運行。
單用戶模式可以用來修改文件系統損壞、還原配置文件、移動用戶數據等。
如何進入單用戶模式
現在,我們假設系統出現了問題,已經不能正常登錄了。那么,如何進入單用戶模式呢?
首先需要重啟服務器,在 GRUB 讀秒界面按任意鍵,進入 GRUB 菜單界面,如圖 1 所示。
圖 1 GRUB菜單界面
在想要進入單用戶模式的 Linux 菜單上按"e"鍵,就會進入 GRUB 編輯界面,如圖 2 所示。
圖 2 GRUB編輯界面
在 GRUB 編輯界面中,移動光標到第二行 kernel 行,然后繼續按"e"鍵,進入行編輯界面。在此行最后輸入"空格 single",代表啟動進入單用戶模式(注意:空格必須存在),如圖 3 所示。
圖 3 GRUB行編輯界面
然后按回車鍵,就會回到上一個界面,如圖 2 所示。再按"b"鍵(啟動),就會啟動進入單用戶模式。單用戶模式是不需要輸入用戶名和密碼就能直接進入提示符界面的,如圖 4 所示。
圖 4 單用戶模式提示符界面
我們已經登錄了 Linux 系統的單用戶模式,而且是不需要輸入用戶名和密碼就可以直接進入的。這時如果有系統問題,就可以在單用戶模式中進行修復了。
單用戶模式常見的錯誤修復
我們已經進入了單用戶模式,那么我們在單用戶模式中主要可以修復哪些系統錯誤呢?下面舉幾個例子。
遺忘root密碼
這是管理員最容易犯的錯誤,應該如何修復呢?當然是使用單用戶模式進行修復了,因為進入單用戶模式的最大特點就是不需要輸入用戶名和密碼。既然已經登錄了單用戶模式,那么直接給 root 用戶設定新密碼即可。 命令如下:
[root@localhost /]# passwd root
運行效果如圖 5 所示。
圖 5 單用戶模式修改 root 密碼
修改系統默認運行級別
如果我們把系統的默認運行級別修改錯誤,比如改為了 0 或 6,系統就不能正常啟動了。這時也可以利用單用戶模式進行修復,只需直接修改默認運行級別配置文件 /etc/inittab,把系統默認運行級別修改回來即可。命令如下:
[root@localhost /]# vi /etc/inittab
id:3:initdefault:
#把默認運行級別修改為3或5。注意:系統的默認運行級別只能使用3或5
理論上,只要能夠進入單用戶模式,那么系統錯誤就可以在單用戶模式中進行修復。當然,判斷系統到底哪里出現了問題,是需要大量的經驗積累的。
