如何用密码保护 Grub 菜单免受ro recovery nomodeset
命令的侵害。我希望它能使任何人(除非您有密码)都无法更改菜单并尝试进入 recovery.grub
答案1
Grub 允许您使用密码保护其配置和控制台,以及单个操作系统条目。请注意,这将不会停止专注的个人,尤其是那些知道自己在做什么的人。但我想你知道这一点。让我们开始吧。
生成密码哈希..
您可以将 grub 密码以纯文本形式存储,但这样做完全不安全,任何有权访问您帐户的人都可以快速找到密码。为了防止这种情况,我们使用以下grub-mkpasswd-pbkdf2
命令对密码进行哈希处理,如下所示:
user@host~ % grub-mkpasswd-pbkdf2
Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.63553D205CF6E...
Ctrl当您输入密码时,终端中不会显示任何字符,这是为了防止人们偷看您等。现在,使用+ Shift+复制整个哈希C。
保护配置、控制台...
跑步:
sudo nano /etc/grub.d/40_custom
这将40_custom
在 grub 的配置目录中创建一个名为的新配置文件。现在添加以下行:
set superusers="username"
password_pbkdf2 username hash
其中username
是您选择的用户名,hash
是我们在上一个命令中生成的哈希值。按Ctrl+O然后按Ctrl+X保存并退出。运行:
sudo update-grub
完成更改。现在,当任何人尝试编辑 grub 配置或访问 grub 控制台时,它都会提示他们输入用户名和密码。
密码保护操作系统条目..
目前我能找到的唯一实现此目的的方法是/boot/grub/grub.cfg
手动编辑。但这只是暂时的,因为任何新的内核更新都会重写此文件,您的密码将消失(请注意,这不会影响我们上面设置的控制台/编辑密码)。到目前为止,我发现的所有其他方法都极其过时,我无法再使用它们。
我已经向 grub 邮件列表询问是否有更新的方法,一旦我发现,我就会编辑这个答案。
答案2
GRUB 手册中有关于安全。这将告诉您如何用密码保护您的 GRUB 启动菜单以限制对特定操作或启动变体的访问。它包含一个小示例。