centos7 重置密碼


 

Method 1:

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

clip_image002

圖1-1 CentOS7.6系統Grub菜單界面

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

clip_image004

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

特別說明:

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

clip_image006

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

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

clip_image008

圖1-4單用戶模式界面重新掛載修改密碼圖界面

特殊說明:

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

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

clip_image010

圖1-5修改內核參數ro為rw配置圖

4、配置完后,執行exec /sbin/init命令重啟系統,注意,此時,無法使用其它重啟命令。特殊強調:如果是系統的SELinux處於開啟狀態,並且前文修改內核選項時,沒有增加“enforcing=0”,則此處需要多執行一條“touch /.autorelabel”命令以便在下次系統引導前重新標記系統中的所有相關文件,因為在SELinux開啟時,修改root密碼時修改password文件會導致SELinux安全上下文報錯,如果前文修改內核選項時,已增加“enforcing=0”,那么在修改密碼文件時,Selinux是關閉狀態,因此,這里就不需要執行“touch /.autorelabel”命令了。

clip_image012

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

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

clip_image014

圖1-7登錄界面圖

注意:為何需要/.autorelabel:系統是沒有SELinux 的,而你剛剛更改了/etc/shadow (因為改密碼啊!), 所以『這個檔案的SELinux 安全本文的特性將會被取消』喔!如果你沒有讓系統於開機時自動的回復SELinux 的安全本文, 你的系統將產生『無法登入』的問題(在SELinux 為Enforcing 的模式下!)加上

/.autorelabel 就是要讓系統在開機的時候自動的使用預設的SELinux type 重新寫入SELinux 安全本文到每個檔案去!。

 

Method 2:

  1. 修改內核啟動參數
    init=/sysroot/bin/bash

     

  2. chroot /sysroot

     

  3. mount -o remount,rw /

     

  4. echo 123 | passwd --stdin root

    touch /.autorelabel

     

  5. exit reboot

     

Method 3:

  1. 修改內核啟動參數
    rw rd.break

     

  2. chroot /sysroot

     

  3. mount -o remount,rw /

     

  4. touch /.autorelabel echo 111 | passwd --stdin root

     

  5. exit reboot

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM