萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux Root 密碼遺忘?三大找回方法圖文詳解(單用戶/救援模式/GRUB)

Linux Root 密碼重置三大經典方案

遺忘 root 密碼是系統管理常見情況。本文提供三種不需重裝系統的重置方法,分別適用於不同啟動載入器與系統狀態。

方法一:單用戶模式 / 救援模式(最通用)

方案 A:GRUB 進入單用戶模式

  1. 重啟系統,在 GRUB 選單按 e 編輯啟動項
  2. 選擇 kernel 行,再按 e,在行末加入 single 或 1 或 init=/bin/bash
  3. 按 Enter 返回,再按 b 啟動
  4. 進入單用戶模式後,直接執行:
mount -o remount,rw /          # 掛載根目錄為可寫
passwd root                    # 重設密碼
touch /.autorelabel            # SELinux 環境需重新標記
reboot

方案 B:安裝光碟/USB 進入救援模式

  1. 以安裝媒體啟動,選擇 Rescue installed system
  2. 選擇語言、鍵盤、網路設定(可跳過)
  3. 系統會掃描並掛載原系統到 /mnt/sysimage
  4. 切換根目錄並重設密碼:
chroot /mnt/sysimage
passwd root
exit
reboot

方法二:LILO 引導系統修改 /etc/shadow

適用於舊版使用 LILO 的系統:

  1. 啟動時在 lilo: 提示符輸入:linux single
  2. 進入命令列後編輯 shadow 檔:
vi /etc/shadow

找到 root 行(第一行),刪除第一個 : 到第二個 : 之間的雜湊值,變成:

root::18000:0:99999:7:::

存檔離開,重啟即可用空密碼登入,隨即設定新密碼。

方法三:GRUB 引導系統修改 /etc/shadow

  1. GRUB 選單按 e 編輯預設啟動項
  2. 選 kernel 行按 e,行末加 single
  3. 按 Enter、再按 b 啟動
  4. 進入單用戶模式後同樣編輯 /etc/shadow 清空 root 密碼欄
  5. 重啟登入後立即執行 passwd root 設定強密碼

🔒 安全性補充:防止未授權重置

上述方法需要實體存取主機。保護措施包括:

  • 設定 GRUB 密碼:grub2-setpassword(GRUB2)或編輯 /boot/grub/grub.conf 加入 password --md5 $1$...
  • BIOS/UEFI 設定開機密碼,禁止外部媒體啟動
  • 加密根分區(LUKS),未解密無法存取 shadow 檔
  • 實體機箱加鎖,限制伺服器機房存取

📋 操作後必做事項

  1. 立即設定強密碼:passwd root
  2. 檢查 SSH 設定:PermitRootLogin prohibit-password 或 no
  3. 啟用金鑰認證,停用密碼登入
  4. 若為 SELinux 系統,執行 touch /.autorelabel 並重啟
  5. 記錄變更時間與操作人員,納入稽核日誌

⚠️ 常見坑點提醒

  • 若掛載根分區失敗,確認 /etc/fstab 是否正確
  • LVM 分區需先 vgchange -ay 啟用卷組
  • 雲端主機(AWS/Azure/GCP)請使用廠商提供的「重置密碼」功能,勿嘗試上述方法
  • 容器環境請重建映像檔,勿修改執行中容器
copyright © 萬盛學電腦網 all rights reserved