如何密码保护Ubuntu的引导加载程序
Ubuntu的Grub引导加载程序允许任何人编辑启动条目或默认使用其命令行模式。Secure Grub使用密码,没有人可以编辑它们 - 甚至可以在启动操作系统之前需要密码。
Grub 2的配置选项分为多个文件,而不是使用单个menu.lst文件Grub 1,因此设置密码变得更加复杂。本经验主要参考《Linux就该这么学》,这些步骤适用于Ubuntu 11.10中使用的Grub 1.99。该过程在将来的版本可能不同
操作方法
- 01
1、生成密码哈希 首先,我们将从Ubuntu的应用程序菜单启动终端。
- 02
现在我们将为Grub的配置文件生成一个模糊的密码。只需键入grub-mkpasswd-pbkdf2,然后按Enter键。它将提示您输入密码,并给您一个长字符串。用鼠标选择字符串,右键单击它,然后选择复制将其复制到剪贴板以供日后使用。
- 03
这一步在技术上是可选的 - 我们可以在Grub的配置文件中以纯文本格式输入我们的密码,但这个命令会混淆它并提供额外的安全性。 2、设置密码 键入sudo nano /etc/grub.d/40_custom以在Nano文本编辑器中打开40_custom文件。这是您应该放置自己的自定义设置的地方。如果您将其添加到其他位置,则可能会被较新版本的Grub覆盖。
- 04
向下滚动到文件的底部,并以以下格式添加密码条目: set superusers =“name” password_pbkdf2 name [long string from older]
- 05
这里我们从前面添加了一个名为“bob”的超级用户和我们的密码。我们还添加了一个名为jim的用户,其密码不明确。 请注意,Bob是超级用户,而Jim不是。有什么不同?超级用户可以编辑引导条目并访问Grub命令行,而普通用户不能。您可以为普通用户分配特定的启动条目,以便他们访问。 按Ctrl-O和Enter保存文件,然后按Ctrl-X退出。在运行sudo update-grub命令之前,您的更改将不会生效 有关详细信息,请参阅激活更改部分。
- 06
3、密码保护引导项 创建一个超级用户让我们大部分的方式。配置超级用户后,Grub可自动阻止人们编辑启动条目或访问Grub命令行而不用密码。 想要密码保护特定的启动条目,以便没有人可以启动它而不提供密码?我们也可以这样做,虽然现在有点复杂了。 首先,我们需要确定包含要修改的引导条目的文件。键入sudo nano /etc/grub.d/,然后按Tab查看可用文件的列表
- 07
假设我们要密码保护我们的Linux系统。Linux引导条目由10_linux文件生成,因此我们将使用sudo nano /etc/grub.d/10_linux命令将其打开。编辑此文件时要小心!如果您忘记密码或输入错误的密码,您将无法启动进入Linux,除非您从实时CD启动并首先修改Grub设置。 这是一个很长的文件,有很多东西,所以我们将按Ctrl-W来搜索我们想要的行。在搜索提示符下键入menuentry,然后按Enter键。你会看到一行以printf开头。
- 08
只是改变 printf“menuentry'$ {title}' 位于行的开始位置: printf“menuentry -user的名字'$ {title}”
- 09
在这里,我们给了Jim访问我们的Linux引导条目。鲍勃也有访问权限,因为他是超级用户。如果我们指定“bob”而不是“jim”,Jim根本就不会有任何访问权限。 按Ctrl-O和Enter,然后按Ctrl-X保存并修改文件后关闭文件。 随着Grub的开发人员向grub-mkconfig命令添加更多选项,这将随着时间的推移变得更加容易。
- 10
4、激活你的变化 在运行sudo update-grub命令之前,您的更改将不会生效。此命令生成一个新的Grub配置文件。
- 11
如果密码保护默认启动条目,您将在启动计算机时看到一个登录提示。
- 12
如果Grub设置为显示启动菜单,您将无法编辑引导项或使用命令行模式而不输入超级用户的密码。