RHEL/CentOS 6/7重置root用戶密碼——方法與過程

本文以重置root用戶密碼爲例,講解一下Linux運維工做中解決通常問題的過程和結果。重置root密碼這種問題的結果很簡單,重點是解決過程,供新手參考和借鑑,但願經過此文做爲新手能知道平常運維中解決一個問題的過程是怎樣的,以及從解決問題的過程當中應該學到什麼。html

人的思惟老是會固化的,除非他本身深入地認識到的確須要轉變。IT領域中的知識老是在不斷變化更新的,須要咱們不停地去「增刪改查」本身的小知識庫。先前覺得達到某一個目的能夠這樣作一件事情,可能一小段時間後就須要那樣作一件事情。linux

事情通過:shell

昨天一大學同窗(自己能夠說是Linux方面的小白)QQ上問我說,本身的Linux虛擬機使用正確的用戶名和密碼沒法登陸到系統,提示用戶名和密碼不正確。centos

解決通常問題的思路:安全

做爲一個去爲他人解決問題的人,其思惟軌跡應該是這樣的:網絡

1.告訴她不要慌,問題老是能解決的,何況這是一個很簡單很常見的問題運維

2.若是她動手能力比較強,那麼把解決問題的思路告訴她,詢問她有沒有作過什麼特別的操做,幫她找到問題存在的緣由防止相似問題再次發生ide

3.若是她動手能力和解決問題的能力較差,那麼能夠遠程幫她或者直接告訴她有哪些簡單的方法能夠本身看後就能使用,快速解決問題網站

4.若是不能遠程或者必須一步一步教告訴她如何作,那麼就須要知道足夠多的信息,不論是解決問題的方法仍是去了解她那邊的狀況:ui

(Remember:你多是在爲傻子解決問題)

1)瞭解狀況:問題是什麼,需求是什麼,問題的背景如何,瞭解此問題的嚴重性(緊急重要)?

2)收集信息:當前運行情況如何,明確是一個怎樣的狀況,什麼系統,運行環境是怎樣的?

3)繼續詢問和分析:問題是何時發生的,如何發生的,作過那些操做?

4)解決過程:該如何幫助其解決?步驟1,2,3……備份、責任、認真、心懷敬畏、日常心……

4)遭遇和預測異常:若是解決不了,該如何去作?尋找Plan B,預測最糟糕的結果

4)總結分享:告知之後該怎麼作,如何預防相似問題

解決此問題的思路:

按照慣有的知識,一般忘記root密碼是一件很是簡單的事情,好比1.最簡單的方法是:進入單用戶模式,直接修改(瞭解其中的條件限制,balabala);2.複雜有效的方法:沒有安全的系統,使用livecd、livedvd等iso鏡像或者安裝光盤(注意版本和位數,不然易遭遇segmentation fault)中rescue模式(救援模式使用起來要比livecd方便),chroot後執行passwd命令或者直接修改/etc/shadow文件,云云。

注:救援模式(Rescue Model)存在於DVD和Minimal版本中,因此一般使用Minimal iso便可,沒必要非得用下載DVD的iso。

可是如文首所提到的,每每知識是須要更新,思惟是須要改變的。就第一種最簡單有效的方法來講,RHEL六、7跟之前大不相同,單用戶模式下也會要求給出root用戶的密碼,所以想快速修改密碼必須另闢蹊徑。

快速解決相似問題的捷徑一般是這樣的:

1.快速肯定關鍵詞,用Google或者百度(若是你喜歡和信任)搜索關鍵詞,篩選和快速瀏覽解決問題的文章(要求關鍵詞提煉能力和快速篩選有用信息的能力,這須要積累和經驗),憑藉本身的經驗和感受去有選擇的試驗

其餘須要的附加技能:英語、……

好的關鍵詞舉例:

1)Google:resetting root password site:redhat.com 或 rhel resetting root password  或 rhel6 forgot the root password.

2)百度:RHEL6 重置root密碼 或 RHEL6忘記root密碼

2.若是不幸運,搜索引擎沒有任何幫助,那麼官方網站(特別是官方文檔、手冊等)多是一種快速解決問題的辦法

重置root用戶密碼是Linux平常管理使用中的一件很常見的管理性任務,所以官方文檔是解決問題最快的地方。雖然查找官方文檔須要對官方文檔的編排和分類比較熟悉,但能保證文檔的權威性。

有時經過某種方法行不通時,可能有別的緣由,須要再排查排查,不要輕易放棄,多試幾回或者換個思路就會成功。某種緣由可能在Bug和Wiki頁面上指出,好比RHEL/CentOS6.8之前SELinux的某個bug會致使root密碼沒法重置。

幾個建議:

1.建議除非特殊須要,支持64位的硬件應當選擇安裝64位的Linux。

2.及時安裝更新,

3.安裝和使用Linux時遵循標準,不要太個性化

4.不要將全部雞蛋放在一個籃子裏,常常備份關鍵數據

5.使用虛擬化和Docker技術

重置root密碼方法:

第一種方法適用於7,第二種方法適用於6

一,以RHEL 7(7.3)爲例,列舉一個典型的方法:

1.打開系統電源,在GRUB2啓動界面出現時按下e編輯,刪除linux6或linuxefi對應行上的rhgb和quiet,在後面添加 init=/bin/sh,按下Ctrl+x,啓動Linux

Red Hat Enterprise Linux 7 64-2017-03-03-10-11-23

 Red Hat Enterprise Linux 7 64-2017-03-03-10-11-46

2.若是想使用SELinux,則執行/usr/sbin/load_policy -i命令,執行mount -o remount, rw / 後能夠執行passwd命令修改root密碼,最後執行exec /sbin/init便可

 Red Hat Enterprise Linux 7 64-2017-03-03-10-15-37

Red Hat Enterprise Linux 7 64-2017-03-03-10-15-56

二,以救援模式爲例,在CentOS6中重置root密碼方法以下:

注:沒必要使用6.7的iso重置6.7系統中的root密碼,徹底可使用6.8的iso重置6.7的系統。

使用鍵盤上的上下箭頭選擇第3個「Rescue installed system」

centos6_Docker-2017-03-03-15-20-35

網絡能夠選擇不開啓,取決於要作什麼

centos6_Docker-2017-03-03-15-25-32 

centos6_Docker-2017-03-03-15-25-43

centos6_Docker-2017-03-03-15-25-52

下圖中選擇繼續「Continue」,也可使用「Advanced」加載SAN

centos6_Docker-2017-03-03-15-26-20

centos6_Docker-2017-03-03-15-26-28

centos6_Docker-2017-03-03-15-26-31 

centos6_Docker-2017-03-03-15-26-35

執行以下命令:

1.chroot /mnt/sysp_w_picpath

2.passwd

3.exit或者Ctrl+D 退出 chroot

4.exit或者Ctrl+D 退出 維護shell

centos6_Docker-2017-03-03-15-27-12

重啓系統

centos6_Docker-2017-03-03-15-27-25 

其餘的辦法也有,就不在此一一列舉了,能夠閱讀下面的鏈接查閱官方文檔。

可參考文檔:

  1. Red Hat, RHEL6:Basic System Recovery

  2. Red Hat, RHEL7:Changing and Resetting the Root Password

  3. CentOS, General:Resetting a Forgotten Root Password

tag:忘記root密碼,重置root密碼,解決問題

--end--

相關文章
相關標籤/搜索