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

Linux 伺服器嚴重故障急救:單人模式重置 Root 密碼與系統修復完整流程

編輯:關於伺服器

適用場景

  • Root 密碼遺忘、sudo 權限喪失。
  • 關鍵系統檔損毀 (/etc/passwd、/etc/shadow、/etc/fstab 等) 導致無法正常啟動。
  • SELinux 防禦模式鎖死、錯誤防火牆規則封鎖 SSH。

急救流程:使用安裝光碟進入救援模式

  1. 掛載安裝媒體: 插入 Linux 安裝光碟/ISO,重啟伺服器,進入 BIOS 設定光碟優先啟動。
  2. 進入救援模式: 啟動選單選擇 Rescue installed system 或啟動參數輸入 linux rescue (RHEL/CentOS) / rescue (Debian/Ubuntu)。
  3. 語言/鍵盤/網路: 依提示選擇 (通常直接 Enter 採用預設)。
  4. 掛載根檔案系統: 系統會嘗試掛載原系統至 /mnt/sysimage (RHEL/CentOS) 或提示手動掛載。確認掛載成功。

核心修復操作:重置 Root 密碼

  1. 切換根環境: chroot /mnt/sysimage (若救援模式未自動 chroot)。
  2. 備份 shadow 檔: cp /etc/shadow /etc/shadow.bak。
  3. 修改 shadow 權限: chmod +w /etc/shadow。
  4. 編輯 shadow 清除 root 密碼:
    • 使用 vi /etc/shadow,找到 root:$6$...:... 行。
    • 刪除第一個 : 後至第二個 : 之間的雜湊字串 (保留冒號),即 root::...,存檔離開 (:wq)。
    • 不熟 vi 者可 mcopy /etc/shadow a:/ 至軟碟/USB,在 Windows 記事本編輯後複製回。
  5. 還原 shadow 權限: chmod -w /etc/shadow。
  6. 退出 chroot 並重啟: exit → 拔除光碟 → reboot。

後續安全加固 (必要)

  1. 以空密碼登入 root,立即執行 passwd 設定強密碼。
  2. 檢查 /etc/ssh/sshd_config 確保 PermitRootLogin prohibit-password 或 no,建議僅允許金鑰登入。
  3. 若為 SELinux 系統,重啟後執行 restorecon -v /etc/shadow 恢復安全標籤。
  4. 排查故障根因 (硬碟壞軌、記憶體錯誤、誤刪檔案、入侵痕跡) 並修復。

替代方案:GRUB 單人模式 (無光碟環境)

  1. 開機 GRUB 選單按 e 編輯核心參數,在 linux16 /vmlinuz... 行尾加 rd.break (RHEL7+/CentOS7+) 或 single / init=/bin/bash (舊版)。
  2. Ctrl+x 啟動,進入緊急 Shell,掛載 sysroot:mount -o remount,rw /sysroot → chroot /sysroot。
  3. 依上述步驟修改 shadow,重啟。

關鍵提醒

  • 物理機房操作需攜帶安裝光碟/USB;雲端主機可用 VNC 掛載 ISO 或重置密碼功能。
  • 生產環境嚴禁長期使用空密碼,修復後務必立即設定強密碼並審計 SSH 金鑰。
  • 定期備份 /etc 關鍵配置,建議使用 etckeeper (Git 版控) 或配置管理工具。
Copyright © Windows教程網 All Rights Reserved