1. 程式人生 > >CentOS 7如何重置root密碼

CentOS 7如何重置root密碼

搬磚過程中雜七雜八的環境和配置問題,每次總能碰到不一樣的錯誤。Google一下發現別人能解決的方法不一定適合你。這次我遇到問題的環境是:

Windows 10 企業版 2016 LTS

VMware® Workstation 14 Pro 14.1.0 build-7370693

CentOS Linux release 7.5.1804 (Core)

VMWare中安裝的CentOS 7 root密碼忘記了,於是只能重置

一、啟動客戶機

1536998450313

進入如上介面之後按e,然後進入如下介面

1536998520012

二、修改啟動檔案

游標往下,找到Linux16ro的位置

1536998611783

ro改成rw init=/sysroot/bin/sh,按Ctrl + x

重新啟動。

這裡說明一下,有的教程說改成rw init=/bin/sh,反正我是沒成功!改成rw init=/bin/sh之後重啟客戶機報錯如下

1536998965521

說我BIOS使hw-PMU資源奔潰,客戶機作業系統已禁用CPU。請關閉或重置虛擬機器。於是按照這個報錯去Google了好久,說是Windows系統沒有開啟CPU虛擬化,於是重啟筆記本進入BIOS

1537001221085

發現Intel virtualization Technology是開啟,問題越扯越離譜,還是改成rw init=/sysroot/bin/sh吧!

三、重新啟動

重啟客戶機後進入如下介面,執行chroot /sysroot

1536999477417

執行passwd root更改root使用者密碼

:/# passwd root
Changing password for user root
New password:
Retype new password:
passwd: Authentication token manipulation error

四、更新/etc/shadow

如果有報錯提示Authentication token manipulation error,表示root密碼更改失敗,正確答案在這裡。因為沒有/etc/shadow檔案,如圖

1537000183239

只有gshadowgshadow-。通過pwconv重新生成shadow檔案,並設定許可權為-rw-r-----

1537000366423

五、重新掛載root分割槽

mount -o remount,rw /

此時再更改root密碼,發現可以了

:/# passwd root
Changing password for user root
New password:
Retype new password:
passwd: all authentication tokens updated successfully

1537000929084

重啟客戶機登入成功!