1. 程式人生 > 其它 >CentOS7系統root密碼丟失找回方法(史上最好)

CentOS7系統root密碼丟失找回方法(史上最好)

CentOS7系統root密碼丟失找回方法(史上最好)

1. 重新啟動或開啟CentOS7系統,在選擇進入系統Grub選單介面如下圖1-1,根據提示按“e”小寫字母進入編輯介面,如下圖1-2所示:

圖1-1 CentOS7系統Grub選單介面

2. 然後,要按方向鍵向下鍵(否則可能看不到想要找的行),找到以字串“Linux16”開頭的行,將游標移動到該行的結尾,然後輸入“init=/bin/bash”,如下圖1-2所示:

圖1-2 CentOS7.6系統Grub選單進入編輯介面配置圖

特別說明:如果不確定系統是否開啟了Selinux或者剛裝完沒有修改過的系統,則最好用下面的方法解決:既在以字串“Linux16”開頭的行,將游標移動到該行的結尾,然後輸入“init=/bin/bash enforcing=0”(前者作用讓系統登入後加載bash直譯器,後者是且關閉Selinux),如下圖1-3所示:

圖1-3 CentOS7.6系統Grub選單編輯介面增加關閉Selinux配置圖

3. 配置完成後,根據介面下面的英文提示按“Ctrl-x”組合鍵以單使用者模式啟動Linux如下圖1-4所示:

圖1-4單使用者模式介面重新掛載修改密碼圖介面

特殊說明:

1)圖中的“mount -o rw,remount /”命令是重新掛載根目錄為可寫狀態(rw表示可寫,remount是重新掛載),在單使用者模式下預設根檔案系統是處於只讀狀態。

2)也可以在增加核心引數時,把以字串“Linux16”開頭的行中間部分的ro引數改為rw,則可以替代繁瑣的“mount -o rw,remount /”命令,修改方法如下圖1-5:所示:

圖1-5 修改核心引數ro為rw配置圖

4. 配置完後,執行exec /sbin/init命令重啟系統,注意,此時,無法使用其它重啟命令。特殊強調:如果是系統

的SELinux處於開啟狀態,並且前文修改核心選項時,沒有增加“enforcing=0”,則此處需要多執行一條“touch /.autorelabel”命令以便在下次系統引導前重新標記系統中的所有相關檔案,因為在SELinux開啟時,修改root密碼時修改password檔案會導致SELinux安全上下文報錯,如果前文修改核心選項時,已增加“enforcing=0”,那麼在修改密碼檔案時,Selinux是關閉狀態,因此,這裡就不需要執行“touch /.autorelabel”命令了。

圖1-6 處理SELinux以及重啟系統介面

5. 重啟系統後驗證修改後的密碼是否能登入,出現如下圖1-5 所示,表示密碼修改並登入成功。

圖1-7 登入介面圖

本博文來自下面書籍第14章:

本文來自部落格園老男孩的部落格,作者:老男孩老師,轉載請務必註明原文連結:https://www.cnblogs.com/oldboy666/p/15425920.html