跳至內容

重置 root 密碼

出自 Arch Linux 中文维基

本指南介紹了在遺忘 root 密碼後,重置密碼的幾種方法。

警吿: 攻擊者可以使用以下部分方法攻入系統。除非使用靜態數據加密,否則無論系統和密碼有多安全可靠,只要攻擊者可以物理接觸設備,就能啟動到其它系統並導出數據。

使用 sudo[編輯 | 編輯原始碼]

如果你安裝了 sudo,並對 wheel 用户組或其它你記得密碼的用户授予了權限,那可以使用 sudo passwd root 命令修改 root 密碼。

使用 debug shell[編輯 | 編輯原始碼]

  1. systemd.debug_shell 附加到內核參數
  2. 系統將會正常啟動,但同時會啟動 debug-shell.service 服務,並在 tty9 開啟一個 root shell(/bin/sh),按下 Ctrl+Alt+F9 可以進行訪問。
  3. 使用 passwd 命令為 root 用户創建新密碼。
  4. 完成後,停止 debug-shell.service

用 Bash 作為 Init[編輯 | 編輯原始碼]

  1. init=/bin/bash 內核參數附加到啟動加載器的啟動項。
  2. 根文件系統應該是只讀掛載,需要以可讀寫模式重新掛載:mount -n -o remount,rw /
  3. passwd 創建新的管理員密碼。
  4. 通過 reboot -f 重啟,不要再次忘記你的密碼。
注意: 使用此法時有的鍵盤不能被初始系統正確加載,可能無法在 bash 提示符後進行輸入。如果出現這種情況,你只能使用其他方法。

使用 LiveCD[編輯 | 編輯原始碼]

通過 LiveCD 可以使用好幾種方法:chroot 並使用 passwd 命令,或者編輯密碼文件直接刪掉密碼項。除使用 chroot 時架構必須與已安裝的系統匹配外,可以使用任何 Linux 的 LiveCD。這裏僅介紹 chroot 方式,因為這個方法更不容易出錯。

Change Root[編輯 | 編輯原始碼]

  1. 啟動 LiveCD, 掛載主系統的根文件系統。
  2. 然後通過下列命令重置密碼(不會出現要求輸入舊密碼的提示):
passwd --root 根文件系統掛載點 用户名
  1. 卸載根文件系統。
  2. 重啟並輸入你的新密碼。

參閱[編輯 | 編輯原始碼]