Debian 中的 Grub 2 密码保护?

Debian 中的 Grub 2 密码保护?

我按照以下方式操作

  1. 运行 grub-mkpasswd-pbkdf2 获取字符串
  2. nano /boot/grub/grub.cfg
  3. 添加两行
  4. 设置超级用户=“putyourusernamehere”
  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 的官方文档。也许它能有所帮助

相关内容