如何用密码保护 Grub 菜单

如何用密码保护 Grub 菜单

如何用密码保护 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 启动菜单以限制对特定操作或启动变体的访问。它包含一个小示例。

相关内容