为Linux设置GRUB密码

我们前面介绍了如何恢复root密码(CentOS 7.9遗忘了root密码怎么办?),虽然简单好用,但是可能会被不法分子利用,造成root密码以及重要信息泄露。那有没有办法保护GRUB引导呢?当然有了!

GRUB(GRand Unified Bootloader,大统一引导加载程序)的主要配置文件是GRUB.cfg,它位于/boot/grub2目录中,它包括几个配置指令、值和参数。

图片

通常,用户只需要添加、删除或更新此文件中的特定指令或字段。例如,我们本次就希望添加在引导加载程序屏幕上提供身份验证功能的指令,以确保故障排除选项的安全。注意:不建议非专业人员修改这些配置文件,GRUB.cfg文件中的一个小错误都可能导致系统完全无法启动。

不过,Linux提供了一种更好的方法来配置该文件中的指令。它将GRUB配置分成几个了部分,并将它们作为/etc/grub.d/目录中的单独文件提供。

图片

这些文件可以单独编辑,以添加、更新或删除特定部分中的特定功能。然后,我们可以从这些文件构建出一个新的配置文件。一旦建立了新的配置文件,就可以用新文件替换现有文件。

文件00_*用于保留给00_header,文件10_*表示本机启动条目,文件20_*表示第三方应用程序,文件40_custom用于管理身份验证功能,接下来,我们使用推荐的方法在配置文件中添加身份验证功能,而不是直接编辑。

我们先看一下文件40_custom的内容。

图片

在GRUB中添加此功能之前,我们先备份现有的GRUB.cfg文件。

mkdir /backupcp /boot/grub2/grub.cfg /backup/ll /backup/
图片

如果我们要在引导加载程序屏幕上验证GRUB选项的访问,一般是在配置文件中指定用于设置用户名和密码,命令如下:

set superusers=“[User Name]”password [User name] [Password]

例如,要设置用户名“tietou”和密码“qwe123”,则在文件中增加如下配置:

set superusers=”tietou”password tietou qwe123
图片

如果我们感觉将密码存储为明文不安全的话,我们还可以使用GRUB提供的加密文本密码的命令grub2-mkpasswd-pbkdf2,以生成系统支持的加密密码。

例如我们要使用工具加密密码qwe123,建议另外打开一个终端并运行以下命令:

grub2-mkpasswd-pbkdf2

根据提示输入并确认所配置的密码,即使输入相同的密码,每次HASH计算的结算也不相同。

图片

然后我们需要将“PBKDF2 hash of your password is”后面以“grub.pbkdf2.sha512”开头的哈希密码复制粘贴到40_custom文件中的文本密码位置。格式如下:

password_pbkdf2 [user name] [hashed string]

那么原本的password tietou qwe123就变成了password_pbkdf2 tietou grub.pbkdf2.sha512.10000.85E17FA746587893A1ACB011C53A80E491FEC781314AFAFFD7A017C86808A12D20B9CA8F3C4E0A1E8EC2FAAAD6136FBBFE30F1D575A460B7C6097BF962E1942A.3DA8A6E6C02C2E6129A2AE8D5D2F338C34C373C3D608EFC6DB65F5A84CCBF76B956E4215FAC236B5EEE1E1867AE64E682198145F67D030E2A9CF455C7DBD4D53

图片

需要注意的是:在实际配置时,我们只能配置使用一种类型的密码。要么使用password [user name] [text string]格式的文本密码,要么使用password_pbkdf2 [user name] [hashed string]格式的哈希密码。

在40_custom文件中添加配置完成后,运行以下命令从/etc/grub.d/目录中的所有可用配置文件在/root/目录中创建新的主配置文件grub.cfg。

grub2-mkconfig -o /root/grub.cfg

然后验证我们所做的更改是否已合并到新的配置文件中。

grep tietou /root/grub.cfg

确认无误后,用新的配置文件替换现有的grub.cfg文件。

cp /root/grub.cfg /boot/grub2/
图片

最后,我们重新启动系统,在引导加载程序屏幕上,按“e”键访问grub选项。

图片

这一次,需要进行身份验证才能访问grub选项,使用我们在40_custom文件中设置的用户名和密码进行身份验证。

图片

验证通过后,可以正常进入GRUB配置修改页面。

图片

如果验证失败,则会重新回到引导选择页面,不影响系统引导。

现在,我们已经成功地配置了GRUB密码,可以保护引导加载程序屏幕上可用的故障排除选项。

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/115227.html

(0)
联系我们
联系我们
分享本页
返回顶部