Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux Root 密碼遺失急救:單用戶模式與救援光碟雙重破解法

編輯:Linux 教學

場景

RedHat 7.2 僅建 root 帳號,後嘗試建立普通用戶卻導致 root 密碼錯誤無法登入。Root 密碼儲於 /etc/shadow,需離線修改該文件清空密碼雜湊值。

方法一:安裝光碟救援模式 (標準流程)

  1. 光碟啟動,進入 BIOS 設定光碟優先啟動
  2. 啟動畫面按 F5,輸入 linux rescue 進入救援模式
  3. 語言/鍵盤選擇預設,系統提示已掛載原系統至 /mnt/sysimage
  4. 進入目標系統:chroot /mnt/sysimage (關鍵步驟,使後續操作針對原系統)
  5. 備份並修改 shadow:
    
    cp /etc/shadow /etc/shadow.bak
    chmod 600 /etc/shadow
    vi /etc/shadow
    # 找到 root 行:root:$1$xxxx:12345:0:99999:7:::
    # 刪除第二欄雜湊值 (兩個冒號間) → root::12345:0:99999:7:::
    # 存檔退出
    chmod 400 /etc/shadow
    
  6. 退出 chroot、重啟、拔出光碟
  7. 以空密碼登入 root,**立即執行 passwd 設定強密碼**

方法二:不熟 vi 用 DOS 軟碟/USB 側寫法

  1. 救援模式下掛載軟碟/USB:mount /dev/fd0 /mnt/floppy
  2. 複製 shadow:cp /etc/shadow /mnt/floppy/
  3. 在 Windows 記事本開啟 (選「所有檔案」)、刪除雜湊值、存檔
  4. 複製回:cp /mnt/floppy/shadow /etc/shadow
  5. 恢復權限 chmod 400 /etc/shadow

方法三:GRUB 單用戶模式 (無光碟環境)

  1. 開機 GRUB 選單按 e 編輯核心啟動參數
  2. 在 kernel 行末尾加 single 或 1 或 init=/bin/bash
  3. 按 b 啟動,進入根 Shell (掛載通常為唯讀)
  4. 重掛載根分區可寫:mount -o remount,rw /
  5. 修改 /etc/shadow 清空 root 雜湊值
  6. sync、重啟

方法四:Live CD/USB 通用大法 (適用所有發行版)

  1. 啟動 Ubuntu/SystemRescueCd 等 Live 系統
  2. 掛載目標根分區:mount /dev/sdaX /mnt
  3. chroot /mnt → 修改 /etc/shadow → exit → umount /mnt → 重啟

安全警示與預防

  • 物理存取 = 根權限:單用戶/救援模式繞過所有認證,**機房物理安全是第一道防線**
  • GRUB 設定密碼保護:grub-mkpasswd-pbkdf2 生成雜湊,寫入 /etc/grub.d/40_custom
  • BIOS/UEFI 設定開機密碼、禁用外部啟動
  • 生產環境**強制要求普通用戶登入 + sudo**,禁用 root 直接登入 (PermitRootLogin no)
  • 密碼管理器儲存 root 密碼,定期輪換審計

事後必做


passwd              # 立即設定強密碼
chage -l root       # 檢查密碼狀態
# 審計 /var/log/secure 確認無異常登入
Copyright © Windows教程網 All Rights Reserved