你有沒有遇到過這種情況:想不起來Linux系統上的用戶帳戶密碼?要是你忘了根用戶密碼,情況就更為糟糕。你無法執行任何面向整個系統的變更。要是你忘了用戶密碼,很容易使用根帳戶來重置密碼。
可要是你忘了root帳戶密碼,那該如何是好?你無法使用用戶帳戶來重置root帳戶密碼,因為用戶帳戶通常無權執行這種任務。
萬一你遇到了這種情況,這篇指南文章可以幫助你擺脫此類困境。本文將介紹如何重置RHEL 7和CentOS 7下的root帳戶密碼。
今天一大早,我打開了RHEL 7 Linux服務器,結果卻發現它被鎖住了。不是我搞砸了前一晚更改的密碼,就是確確實實忘了密碼。
遺忘的root帳戶密碼
那麼,我現在該如何是好?我應該使用用戶帳戶登錄,試著更改root帳戶密碼嗎?
只有root用戶才能設置密碼
糟糕的是,我看到的信息是“Only root can specify a user name”(“只有root帳戶才能指定用戶名稱”),我對根帳戶失去了控制權。於是我打算引導進入到單一用戶模式。為此,重啟服務器;一旦你看到下列屏幕,就按鍵盤上的“e”(代表編輯)。
按“e”進入編輯引導菜單
在你按了鍵盤上的“e”後,你會看到許多文本,文本內容會根據屏幕尺寸來縮短。
Grub配置
搜尋文本“rhgb quiet”,將它換成“init=/bin/bash”,不要引號。
啟用外殼
一旦完成了編輯,按“ctrl+x”組合鍵,它會開始以指定的參數來引導。你會獲得bash提示符。
引導系統
現在,在單一用戶模式上運行下列命令,檢查根分區的狀態。
# mount | grep root
檢查根分區掛載狀態
你可能注意到,根分區被報告為“ro”(只讀)。我們需要對根分區擁有讀寫權限,才能更改root帳戶密碼。
# mount -o remount,rw /
另外反復檢查一下,看看根分配是否以讀寫權限模式來掛載。
# mount | grep root
對根分區設置權限
現在你可以更改root帳戶密碼了,只要鍵入passwd命令。但這還沒完。我們需要重新標記SELinux上下文。如果我們跳過重新標記整個SELinux上下文這一步,就能夠使用using password來登錄了。
# passwd root
[輸入新密碼]
[重新輸入新密碼]
# touch /.autorelabel
重置root帳戶密碼
重啟,再次登錄進入到根帳戶,看看一切是不是正常了?
# exec /sbin/init
登錄root用戶
上圖清楚地顯示,我們已通過從單一用戶模式重置root帳戶密碼,成功登錄進入到RHEL 7系統。
上述幾個步驟清楚地顯示了如何通過從單一用戶模式重置root帳戶密碼,登錄到RHEL 7和CentOS 7機器。
更多RedHat相關信息見RedHat 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=10
更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14