一、前言
作為站在系統頂端的那個人,偶爾也會發生忘記root密碼這樣的情況,對于老司機來說,這根本不用慌,有很多種辦法搞定!當然,我在此所說的情況僅限于能看到啟動界面能夠編輯grub配置的情況或者能夠挂載系統光盤進行修複的情況。其他場景并不是适用。想通過閱讀本文,然後破解其他遠程主機的小夥伴們在此可以繞道了,此文并不适用。
Linux
二、操作思路或步驟
(一)方案一思路(隻介紹思路及重點命令,不詳細截圖演示操作步驟)
1.把系統盤放入光驅,設置光驅引導啟動。
2.進入救急模式,把原系統根目錄所在的分區挂載到當前系統的某一目錄下或者直接選1的continue就行,自動挂載。
圖一
3.按照以下步驟進行操作。
在已知密碼的主機上執行:
[root@ChatDevOps ~]# awk -F ":" 'NR==1{print $2}' /etc/shadow
将已知密碼主機終端輸出内容粘貼到忘記密碼的主機上,關鍵命令如下(将變量$2内容替換成已知密碼主機屏幕顯示内容):
[root@ChatDevOps ~]# awk -F ":" '{if(NR==1){$2="$6$0gOE0PHa$FO.D";}print $0}' /etc/shadow>shadow
[root@ChatDevOps ~]# sed -i '1s/ /:/g' shadow
[root@ChatDevOps ~]# chmod 000 shadow
[root@ChatDevOps ~]# mv shadow /etc/shadow
mv:是否覆蓋"/etc/shadow"? y
此種情況隻适用于已經開啟密碼投射的情況,開啟和關閉密碼投射的命令分别如下:
[root@ChatDevOps ~]# pwconv
[root@ChatDevOps ~]# pwunconv
如果沒有開啟密碼投射也不用驚慌,同樣的思路,隻不過密碼存放的文件變成了/etc/passwd而已。大家都看懂了嗎?
(二)方案二思路
1.在方案一的基礎上進行操作,本來想和方案一合并的,考慮到合并之後顯得很混亂,就單獨寫了。
2.分區挂載之後,直接把/mnt/sysimage/etc/shadow文件裡面的第一個":"後面的内容直接删除。
在這一步需要注意的是:shadow的權限,在删除文字内容之前需要對該文件加讀寫權限,編輯完shadow文件之後保存以後去掉新加的權限。完成之後正常啟動即可,系統啟動之後無需輸入密碼,直接登錄,登錄進去之後passwd命令修改密碼即可。非常方便!重點命令可參考方案四。
(三)方案三操作步驟
1.編輯GRUB2。
正常開啟系統,内核選擇界面即GRUB2引導界面,按e鍵,光标上下移動,找到以linux16開頭的這一行,按下鍵盤上的End鍵,直接跳至這一行的末尾,再按下空格鍵,輸入:\rd.break,别忘了這裡的反斜杠,完成後按下Ctrl X進入命令行界面,此時屏幕顯示:switch_root:/#。
2.重新挂載原系統文件,并chroot到原系統根目錄下。
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
3.修改密碼。
sh-4.2# passwd root
sh-4.2# touch /.autorelabel
4.Ctrl D退出,reboot系統,使用新密碼登錄即可。
(四)方案四思路及要點
1.前一二步操作跟方案三一模一樣。
2.删除/etc/shadow文件root密碼部分内容,需謹慎操作。此步驟具體操作過程跟方案二一緻,主要命令如下:
sh-4.2# chmod u rw /etc/shadow
sh-4.2# awk -F ":" 'NR==1{$2="";print $0}' /etc/shadow>shadow.txt
sh-4.2# sed -i '1s/ /:/g' shadow.txt
sh-4.2# sed -i 1d /etc/shadow
sh-4.2# cat shadow.txt >>/etc/shadow
sh-4.2# rm -rf shadow.txt
sh-4.2# chmod u-rw /etc/shadow
sh-4.2# touch /.autorelabel
touch /.autorelabel這一步是非常關鍵的,如果缺少這一步,删除root密碼也是沒有用的,親測不坑!
3.Ctrl D退出,reboot系統,輸入root賬号之後回車鍵無需輸入密碼即可登錄,登錄之後修改密碼。
三、總結
1.還記得之前的安全加固中我把給grub2加密列為可選項嗎?看完這篇文章我相信大家一定會有新的感悟。BIOS設置光盤引導是不是可以直接跳過?那麼是不是應該給BIOS設置密碼?其實這些都是浮雲啦,管理是需要成本的,并沒有多少人能夠看到系統的引導過程。像我們公司,使用的私有雲,平時能接觸到grub2幾BIOS的也就我自己或者我的領導,這時候管理制度就很關鍵了。
2.方案一和二是我自己摸索出來的,方案三貌似RHCSA認證第一道題就這樣的,網上基本都是這種思路,在方案三的基礎上,我又發散了一下思維,總結出方案四。不知道大家是否都看懂了?
3.文中很少提到或者用到vi和vim并不是我想秀,僅僅是想讓命令更直接,懶人直接複制運行就行,方便快捷!如果多花點時間來理解一下這些命令,你會有意想不到的收獲!
4.截圖有點麻煩,還不如直接命令,看着舒服,大家照着敲效果都一樣!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!