重置 root 密碼
外觀
本指南介紹了在遺忘 root 密碼後,重置密碼的幾種方法。
警吿: 攻擊者可以使用以下部分方法攻入系統。除非使用靜態數據加密,否則無論系統和密碼有多安全可靠,只要攻擊者可以物理接觸設備,就能啟動到其它系統並導出數據。
使用 sudo[編輯 | 編輯原始碼]
如果你安裝了 sudo,並對 wheel
用户組或其它你記得密碼的用户授予了權限,那可以使用 sudo passwd root
命令修改 root 密碼。
使用 debug shell[編輯 | 編輯原始碼]
- 將
systemd.debug_shell
附加到內核參數。 - 系統將會正常啟動,但同時會啟動
debug-shell.service
服務,並在tty9
開啟一個 root shell(/bin/sh
),按下Ctrl+Alt+F9
可以進行訪問。 - 使用 passwd 命令為 root 用户創建新密碼。
- 完成後,停止
debug-shell.service
。
用 Bash 作為 Init[編輯 | 編輯原始碼]
- 將
init=/bin/bash
內核參數附加到啟動加載器的啟動項。 - 根文件系統應該是只讀掛載,需要以可讀寫模式重新掛載:
mount -n -o remount,rw /
- 用 passwd 創建新的管理員密碼。
- 通過
reboot -f
重啟,不要再次忘記你的密碼。
注意: 使用此法時有的鍵盤不能被初始系統正確加載,可能無法在 bash 提示符後進行輸入。如果出現這種情況,你只能使用其他方法。
使用 LiveCD[編輯 | 編輯原始碼]
通過 LiveCD 可以使用好幾種方法:chroot 並使用 passwd
命令,或者編輯密碼文件直接刪掉密碼項。除使用 chroot 時架構必須與已安裝的系統匹配外,可以使用任何 Linux 的 LiveCD。這裏僅介紹 chroot 方式,因為這個方法更不容易出錯。
Change Root[編輯 | 編輯原始碼]
- 啟動 LiveCD, 掛載主系統的根文件系統。
- 然後通過下列命令重置密碼(不會出現要求輸入舊密碼的提示):
passwd --root 根文件系統掛載點 用户名
- 卸載根文件系統。
- 重啟並輸入你的新密碼。