當我們linux服務器的root密碼忘記以后,需要進入單用戶模式下修改密碼。此時的做法是到grub頁面,修改grub程序。我們知道grub有兩種模式,一種是文本模式,一種是命令模式。我們可以到文本模式下修改,例如方法一。但是有時候,我們會遇到一個問題,就是在文本模式下修改grub之后,保存並啟動需要按“ctrl + c”,有些控制台終端設備不支持“ctrl+c”熱鍵。這樣就面臨一個問題,grub的文本模式修改后,無法保存並運行,此時我問使用方法二。
方法一:grub文本模式修改grub程序
在linux16 /vmlinuz-3.10.0.....一行最后面加上“rd.break”,然后Ctrl+x保存並啟動。
這樣我們就進入了單用戶模式
此時我們知道,grub程序執行后,還沒有掛載文件系統,此時系統是找不到根文件。所以首先我們得掛載文件系統。文件系統掛載后,切換到掛載的文件系統下。
輸入密碼。
為了避免重啟時不能對整個文件系統進行正確的relabeling而引起SELinux的狀態異常,在/下創建一個.autorelabel文件,有這個文件存在,系統在重啟時就會對整個文件系統進行relabeling,
然后,兩次exit退出即可。
方法二:
進入grub的文本模式后“Ctrl+c”進入命令模式
輸入命令在grub引導的啟動文件后面添加"init=/bin/bash"
然后在輸入根 系統文件。
之后輸入“boot”引導啟動
這樣就進入了單用戶模式下。
此時的文件系統是只讀模式,需要重新掛載文件。
然后修改密碼。