在 Fedora 24 上隐藏 GRUB 菜单

在 Fedora 24 上隐藏 GRUB 菜单

据我了解,可以从 Fedora(以及 RHEL 衍生产品)上的 GRUB 菜单开始更改 root 密码。因此我想隐藏 GRUB 菜单,如果可能的话,仅当我再次编辑 GRUB 文件时才会显示(没有键盘映射)如果可能的)。

我尝试编辑 /etc/default/grub 并运行 grub-mkconfig -o /boot/grub2/grub.cfg 但 GRUB 菜单仍然显示。

答案1

要隐藏 GRUB 菜单,您需要有以下内容/etc/default/grub

GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_TIMEOUT=0

这会不是防止用户使用引导加载程序获得系统的 root 访问权限,因为在引导期间按 ESC 会导致菜单出现。


引导加载程序安全

物理访问提供了非常大的攻击面以确保安全。如果您想防止简单的攻击,您需要在 BIOS 上设置密码,防止从可移动磁盘启动,密码保护 GRUB并在您的计算机机箱上加一把物理锁。其中每一项都很重要,除非您全部完成,否则任何一项都可以轻松绕过。或者,您可以使用在启动时需要密码的全盘加密(尽管在这种情况下物理安全性仍然很重要)。


GRUB 密码保护

要使用密码保护 GRUB 并防止修改启动设置(这可以防止您提到的特定攻击),您应该执行以下操作:

运行grub2-mkpasswd-pbkdf2以生成密码哈希。

编辑(或创建)/etc/grub.d/01_users如下所示:

#!/bin/sh -e
cat <<EOF
set superusers="someuseranme"
password_pbkdf2 someusername ouput_from_grub2-mkpasswd-pbkdf2
EOF

此时,如果您运行grub2-mkconfig -o /boot/grub2/grub.cfg(或grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg在 EFI 系统上),则需要在每次启动时输入上面的用户名和密码。要允许启动默认菜单项而无需密码,您可以编辑/etc/grub.d/10_linux和更改以下行:

CLASS="--class gnu-linux --class gnu --class os"

到:

CLASS="--class gnu-linux --class gnu --class os --unrestricted"

完成所有这些后,运行grub2-mkconfig -o /boot/grub2/grub.cfg并重新启动以测试更改。

相关内容