据我了解,可以从 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
并重新启动以测试更改。