GRUB2 設定密碼保護開機選單

如果忘記了 root 密碼, 可以透過修改 GRUB2 選單進入 single user mode 重設 root 密碼。但這樣只有有人可以在電腦面前, 就會很容易修改 root 密碼。以下教學會示範設定 GRUB2 密碼, 只有輸入正確密碼才可以編輯 GRUB2 開機選單的內容。

設定密碼的第一步, 是先用 grub2-mkpasswd-pbkdf2 指令建立加密後的密碼, 輸入 grub2-mkpasswd-pbkdf2 指令後, 會要求輸入兩次密碼, 這是登入 GRUB2 開機選單的密碼:

# grub2-mkpasswd-pbkdf2
Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.751694A0868FDA2393132C400AC6C04C5CC311DF7FDAFEBD7EBDE5F6D9D8D37505270A3D0CCDA189D78A80CEA05D0BC86C3AE8C25EAA0206BADF611713C7FE44.A847AF1CF40EE2C266C006383AC3C289E2260AED2D9D1C9E1BACA2579A06BD54F4E9BB2973B049AB3C8D96289C8DA204E2C6EC3E7E2E6895DBF82662BAD91D2B

grub2-mkpasswd-pbkdf2 指令回傳的結果, 從 “grub.pbkdf2.sha512” 開始到結尾是加密了的密碼, 這個需要複製下來。


然後開啟 GRUB2 的設定檔 /etc/grub.d/00_header:

# vi /etc/grub.d/00_header

在檔案最後加入以下內容:

上面的 “root” 是登入 GRUB2 開機選單的使用者名稱, 而 “grub.pbkdf2.sha512” 開頭的一段字串, 是用上面用 grub2-mkpasswd-pbkdf2 指令建立的加密了的密碼, 千萬不要複製我的上去, 要用你自己建立的加密密碼。

最後重新建立 grub.cnf:

# grub2-mkconfig –output=/boot/grub2/grub.cfg

之後開機時, 在 GRUB2 開機選單按 “e” 或 “c” 進入編輯模式時, 會要求輸入使用者名稱及密碼。


Leave a Reply