萬盛學電腦網

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

Linux Root 密碼忘記了怎麼辦?三種找回重設方法完整圖文教學

前言

遺忘 Root 密碼是 Linux 運維常見情境。本文提供三種不同層級的重設方案,從簡單到徹底,適用於各類發布版。

方法一:GRUB 單用戶模式修改 /etc/shadow(最快、無需外部介質)

  1. 開機 GRUB 選單 → 選中啟動項 → 按 e 編輯
  2. 選中核心行(kernel /boot/vmlinuz...) → 按 e
  3. 行末加入 single → Enter → 按 b 啟動
  4. 進入單用戶模式命令列:
    vi /etc/shadow
  5. 找到 root 行(第一行),刪除第一個 : 到第二個 : 之間的雜湊值,變為:
    root::18000:0:99999:7:::
  6. :wq 存檔 → reboot 重啟
  7. Root 密碼變為空,登入後立即執行 passwd root 設定新密碼
注意:此法需檔案系統以讀寫模式掛載,部分系統單用戶模式預設唯讀,需先 mount -o remount,rw /。

方法二:安裝光碟/USB 進入 Rescue 模式(通用、安全)

  1. 插入安裝媒體,選擇 Rescue installed system / Troubleshooting → Rescue
  2. 選擇語言、鍵盤、網路(可跳過)
  3. 系統會嘗試掛載原系統至 /mnt/sysimage,確認掛載成功
  4. 切換根環境:
    chroot /mnt/sysimage
  5. 重設密碼:
    passwd root
  6. 退出 chroot、重啟移除媒體

方法三:掛載硬碟至另一 Linux 系統修改(物理存取場景)

  1. 關機拔出目標硬碟,掛載至另一台 Linux 主機(或 USB 轉接器)
  2. 掛載根分區:
    mkdir /mnt/recovery
    mount /dev/sdXn /mnt/recovery # sdXn 為根分區裝置名
  3. 編輯 shadow 檔:
    vi /mnt/recovery/etc/shadow
    清空 root 密碼欄位(同方法一步驟 5)
  4. 卸載硬碟、裝回原機、開機設定新密碼

GRUB 2(CentOS 7/RHEL 7+/Ubuntu 16.04+)專用流程

  1. GRUB 選單按 e 編輯
  2. 找到 linux16 / linuxefi 行,末尾加 rd.break
  3. Ctrl+x 啟動 → 進入 emergency shell
  4. mount -o remount,rw /sysroot
  5. chroot /sysroot
  6. passwd root
  7. touch /.autorelabel # 關鍵:觸發 SELinux 重標記
  8. exit 兩次 → reboot

安全防護建議

  • 設定 GRUB 開機密碼: grub2-setpassword 防止未授權進入單用戶模式
  • 啟用全盤加密(LUKS): 物理存取也無法繞過
  • 使用 SSH 金鑰認證禁用密碼登入: 根本杜絕密碼遺忘與暴力破解
  • 建立 sudo 一般管理帳號: 日常運維不直接用 root

方法選擇指南

場景推薦方法
實體/虛擬機有主控台存取權方法一(最快)
GRUB 有密碼保護 / 單用戶模式唯讀方法二
無主控台存取、可物理拔硬碟方法三
CentOS 7+/RHEL 7+ (GRUB2)GRUB2 專用流程

掌握多種重設手段,並建立完善的存取控制與備份策略,才能從容應對密碼遺忘危機。

copyright © 萬盛學電腦網 all rights reserved