Linux系统下为GRUB菜单设置密码
·
GRUB菜单设置密码
第 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 的编辑界面。这表示加密已成功生效。
更多推荐



所有评论(0)