根密碼遺忘是 Linux 運維的經典場景。本文提供兩種通用、安全、無損的破解方案:GRUB 單用戶模式(適用於主機台可操作)與 光碟救援模式(適用於遠端/無法進入 GRUB),覆蓋 CentOS 5/6/7 全系列,助你在 5 分鐘內重獲系統控制權。
適用:實體機/虛擬機主機台可見、GRUB 選單未加密、未啟用全盤加密。
single 或 1 或 rd.break(CentOS 6)# 重掛根分區為讀寫(關鍵步驟)
mount -o remount,rw /
# 修改密碼
passwd root
# 或直接清空 /etc/shadow 中 root 的密碼欄位
# vi /etc/shadow → root::... (保留冒號)
# 重建 SELinux 標籤(如啟用 SELinux)
touch /.autorelabel
reboot
linux16 /vmlinuz-... 行,行尾添加 rd.breakswitch_root 環境mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot
適用:GRUB 損壞、主機台不可操作(如雲主機 VNC)、單用戶模式需密碼(如設定了 sulogin)、LUKS 加密分區。
/mnt/sysimage# 切換到系統根環境
chroot /mnt/sysimage
# 修改密碼
passwd root
# 若 /etc/shadow 權限導致無法存檔
chmod 644 /etc/shadow # 臨時放寬
vi /etc/shadow # 清空 root 密碼欄
chmod 400 /etc/shadow # 恢復權限
# SELinux 重打標
touch /.autorelabel
exit
reboot
grub2-setpassword),防止單用戶模式被濫用,但務必妥善保管 GRUB 密碼!touch /.autorelabel,否則重啟後可能因標籤錯誤導致登入失敗或服務異常。cryptsetup luksOpen 解密,救援模式同理。/var/log/secure、last、lastb 確認無異常登入,並立即更換為高強度密碼、配置 SSH 金鑰認證、禁用密碼登入。單用戶模式快捷輕量,救援模式通用性強。熟練掌握雙方案,並結合 GRUB 加密、SELinux 管理、雲平台原生工具,即可從容應對各類密碼遺忘與啟動故障,將停機時間壓縮到分鐘級。