第 1 步:生成密码的 PBKDF2 哈希

1.打开终端,输入以下命令:

grub2-mkpasswd-pbkdf2

2.根据提示,​​输入并确认​​您想要设置的密码(输入时不会显示):

输入口令:
Reenter password:

3.命令会输出一长串哈希值。​​完整地复制​​整个 grub.pbkdf2…字符串(从 grub.pbkdf2开始一直到结尾)。这是您的加密密码。

PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.67AA83DAE7175D7E130040E95D9181C8349430C95A85585438570D69F502080B...(非常长的字符串)

第 2 步:编辑 GRUB 自定义配置文件

1.使用 vi编辑器打开自定义配置文件:

vi /etc/grub.d/40_custom

2.按 i键进入编辑模式,在文件末尾(在 #!/bin/sh和 exec tail…行之后)添加以下两行内容:

set superusers="admin"  # 定义超级用户名为 "admin",您可以自定义这个名字
password_pbkdf2 admin grub.pbkdf2.sha512.10000.67AA83DAE7175D7E...(这里替换为您刚才复制的完整哈希字符串)

在这里插入图片描述

​​重要:​​ password_pbkdf2后面的哈希值必须是你第一步生成的​​完整字符串​​。

3.按 ESC键退出编辑模式,然后输入 :wq并按回车,保存文件并退出。

第 3 步:配置全局编辑权限(强制所有编辑操作都需要密码)

1.编辑 GRUB 主配置文件:

vi /etc/default/grub

2.按 i进入编辑模式,在文件末尾添加这一行:

GRUB_EDIT_COMMAND="edit"

在这里插入图片描述

这行配置的含义是:​​任何试图编辑 GRUB 菜单项的行为都会触发密码验证​​。

第 4 步:生成新的 GRUB 配置文件(关键步骤)

这是 CentOS 与 Ubuntu 不同的命令。运行以下命令,将新的配置写入 grub.cfg 文件:

grub2-mkconfig -o /boot/grub2/grub.cfg

(补充说明)​​ 如果您的系统是 UEFI 启动模式,配置文件路径可能不同。如果不确定,可以两个命令都执行一遍,第二个命令不会覆盖第一个:

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

第 5 步:验证配置是否已生效

运行以下命令,检查生成的配置文件中是否包含了您的密码设置:

grep -A5 -B5 "superusers\|password_pbkdf2" /boot/grub2/grub.cfg

如果命令输出中包含了您设置的 superusers和 password_pbkdf2行,说明配置已成功写入。

第 6 步:重启并测试

最后,重启系统来测试加密是否生效:

reboot

当 GRUB 启动菜单出现时:
1.将光标移动到任何一个菜单项上。
2.按下 e键尝试编辑。
​​3.此时会立即弹出一个用户名和密码输入提示。​​
4.输入您在​​第 2 步​​中设置的用户名(例如:admin)和​​明文密码​​(即您第一步输入的那个密码,不是哈希值)。
5.如果验证成功,您将进入 GRUB 的编辑界面。这表示加密已成功生效。

Logo

分享最新、最前沿的AI大模型技术,吸纳国内前几批AI大模型开发者

更多推荐