修改RedHat7的root用戶密碼


前言

  • 前段時間由於長時間沒有使用虛擬機里面的一個操作系統,導致密碼記得不是太清,登錄不進去。今天想起還是做個小記錄,以便以后參考。

  • 再一個是,當時網上也搜了很多解決問題的博客,但大部分都是同一個博客內容,沒有多大的參考價值,所以導致當時試了很久才成功。所以當自己出問題了,還是先要把自身的所犯的錯誤找出來,這樣搜索問題解決方法時才會游刃有余!

操作環境

  • 主機為window10(關系不大)

  • 虛擬機為vmware15pro(關系不大)

  • 操作系統為RedHat7(有一定的影響)

個人解決步驟

第一步

在圖片中的界面按下鍵盤“e”鍵,然后在linux16這一行最后面添加一行內容

rw rd.break init=/sysroot/bin/sh

網上大多數linux16那一行參數如圖所示

但是,由於我用的不同版本的鏡像,所以我的解決方法如圖


找到linux16這一行起始地方,然后按end鍵到這一行最后,再加空格,然后添加這一條語句

rw rd.break init=/sysroot/bin/sh

第二步

按下 ctrl+x  進入命令行

第三步

輸入以下命令:

1.輸入 mount

2. 查看是否為“rw”,如果沒有則輸入 mount –o remount,rw /sysroot

3. 切換路徑 輸入 chroot /sysroot

4. 輸入 passwd 修改root用戶密碼  ;此時會給你提一個警告,是因為密碼強度太弱了,我們目前個人用的話不用管

5. 輸入touch /.autorelabel

6. 輸入 exit 退出

7. 輸入 reboot 或者不用exit退出,直接輸入  exec /sbin/reboot

最后,需要注意的是,可能部分人的問題,最后命令輸完后無法自動重啟,這時候你可以強行關機並且重啟

網上解決步驟

CentOS 7&RHEL 7進入單用戶方式和重置密碼方式發生了較大變化,GRUB由b引導變成了ctrl+x引導。

重置密碼主要有rd.break和init兩種方法

rd.break方法:

1、啟動的時候,在啟動界面,相應啟動項,內核名稱上按“e”;

2、進入后,找到linux16開頭的地方,按“end”鍵到最后,輸入rd.break,按ctrl+x進入;

3、進去后輸入命令mount,發現根為/sysroot/,並且不能寫,只有ro=readonly權限;

4、mount -o remount,rw /sysroot/,重新掛載,之后mount,發現有了r,w權限;

5、chroot /sysroot/ 改變根;

(1)echo RedHat|passwd –stdin root 修改root密碼為redhat,或者輸入passwd,交互修改;

(2)還有就是先cp一份,然后修改/etc/shadow文件

6、touch /.autorelabel 這句是為了selinux生效

7、ctrl+d 退出

8、然后reboot

至此,密碼修改完成

init方法:

1. 啟動系統,並在GRUB2啟動屏顯時,按下e鍵進入編輯模式。

2. 在linux16/linux/linuxefi所在參數行尾添加以下內容:init=/bin/sh

3. 按Ctrl+x啟動到shell。

4. 掛載文件系統為可寫模式:mount –o remount,rw /

5. 運行passwd,並按提示修改root密碼。

6. 如何之前系統啟用了selinux,必須運行以下命令,否則將無法正常啟動系統:touch /.autorelabel

7. 運行命令exec /sbin/init來正常啟動,或者用命令exec /sbin/reboot重啟

最后

網上的方法中init方法我試過,但另一種並未試過,但是從解決問題的過程中來看,兩者區別不大;並且要注意以上僅僅是本人的解決步驟,有可能由於各種問題,每個人解決過程中會遇到不一樣的錯誤,當然和我的一樣更好,直接可以解決,如果不一樣請僅當參考使用!
一般按照以上我的個人步驟解決,基本不會出多余的問題,唯一的問題就是可能最后要自己強行重啟!
如果root用戶可以登錄,那種修改密碼的方式就不在這記錄了,主要找到passwd路徑基本就可以解決了!


免責聲明!

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



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