debian 中的 Grub 2 密碼保護?

debian 中的 Grub 2 密碼保護?

我按如下操作

  1. 運行 grub-mkpasswd-pbkdf2 來取得字串
  2. 納米 /boot/grub/grub.cfg
  3. 新增兩行
  4. 設定超級用戶=“把你的用戶名放在這裡”
  5. 密碼 putyourusernamehere grub.pbkdf2 (省略)

當我重新打開電腦時,它無法工作,如何在 debian 中使用 grub 2 密碼保護?

答案1

Debian 8 (jessie) 將 Grub 2 密碼參數儲存在目錄中/etc/grub.d/。這目錄裡面只有腳本用於產生設定檔。

/etc/grub.d/01_users因此,您可以建立一個包含以下內容的新腳本(例如):

#!/bin/bash

cat <<EOF
set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89...
EOF

上述所有行都是該檔案的一部分,因為它是一個腳本,其輸出將進入最終的設定檔。由於它是一個腳本,因此只有在可執行 ( ) 時才會被處理chmod a+x ...

作為一個選擇,您可以將所需的行放入現有文件之一中,這些文件經過調整以輸出自己的內容。在這裡您可以看到如何/etc/grub.d/40_custom用 tail 指令取代 shell,傳回從第三行開始的腳本內容:

#!/bin/sh
exec tail -n +3 $0

set superusers="putyourusernamehere"
password putyourusernamehere grub.pbkdf2 grub.pbkdf2.sha512.10000.3450C89... 

在某些 Ubuntu 衍生版本(例如 Mint 19)中,密碼的格式會變更如下:

#!/bin/sh
exec tail -n +3 $0

set superusers=putyourusernamehere
password_pbkdf2 putyourusernamehere grub.pbkdf2.sha512.10000.3450C89... 

您可能需要將「--unrestricted」新增到要無密碼啟動的選單項目中。例如在文件中10_linux

10_linux:CLASS="--class gnu-linux --class gnu --class os --unrestricted"

最後啟動update-grub2生成最終的設定檔/boot/grub/grub.cfg

答案2

。來自基於 debian 的作業系統的官方文件:Ubuntu。也許有幫助

相關內容