最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 如何配置引导加载程序启用密码保护防止篡改
时间:2026-09-04 18:32:47 编辑:袖梨 来源:一聚教程网
GRUB加密码的核心目标是锁住编辑入口,防止通过e键修改内核参数进入单用户模式重置root密码;需用grub2-mkpasswd-pbkdf2生成强哈希,配置superusers和password_pbkdf2,锁定menuentry并配合BIOS密码、Secure Boot等基础防护。
给 GRUB 引导加载程序加密码,核心目标是锁住编辑入口——防止有人在开机时按 e 键修改内核参数、添加 rd.break 或 init=/bin/bash 进入单用户模式重置 root 密码。这不是加密硬盘,也不防 Live USB 启动,但它是最直接有效的第一道逻辑防线。
生成并配置强哈希密码
明文密码不安全,必须用 PBKDF2 哈希:
- 在终端运行
grub2-mkpasswd-pbkdf2(RHEL/CentOS/Fedora)或grub-mkpasswd-pbkdf2(Debian/Ubuntu),输入两次密码,复制输出的完整哈希串(以grub.pbkdf2.sha512...开头) - 编辑
/etc/grub.d/40_custom,在末尾添加:set superusers="admin"
其中password_pbkdf2 admin grub.pbkdf2.sha512.10000.6A8...
admin是自定义用户名,后面接刚生成的密文 - 保存后执行
sudo grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL系)或sudo update-grub(Debian系)生效
锁定关键启动项(可选但推荐)
仅设全局密码还不够,敏感项可单独加固:
- 打开
/etc/grub.d/10_linux或对应启动项生成脚本 - 找到类似
menuentry的行,在引号后加--users admin,例如:menuentry 'CentOS Linux (5.14.0-284.30.1.el9_2.x86_64) 9' --users admin { - 重新生成配置(同上),重启后该菜单项需输入用户名+密码才能编辑或启动
配套必须做的基础防护
GRUB 密码只是环节之一,脱离其他措施效果大打折扣:
- BIOS/UEFI 密码:设置管理员密码,禁用 USB/CD 启动,把硬盘设为第一启动设备
-
Secure Boot 开启:进 UEFI 设置确认
Secure Boot = Enabled,运行mokutil --sb-state验证;第三方驱动需导入 MOK 密钥 -
/boot 分区权限收紧:确保
/boot/grub2/grub.cfg属主为root:root,权限为0600 - 物理访问控制:服务器机柜上锁,避免他人直连显示器或插 U 盘操作
验证是否生效
重启系统,看到 GRUB 菜单后:
- 按
e键 → 出现Enter username:提示 → 输入admin→ 再提示Enter password:→ 正确输入后才允许编辑 - 若输错或跳过,
e键无响应,b键也无法启动修改后的项 - 尝试加
rd.break或init=/bin/sh参数会直接被拦截,无法进入单用户环境
相关文章
- DataWorks Data Agent 实战课(八):搭建数据质量巡检服务 09-11
- lgtm:实践指南 09-11
- DoRA:实践指南 09-11
- Codex 进阶实践:用可验收规格定义编码任务 09-11
- RoadArchitect:实践指南 09-11
- WorkflowEngine.NET:实践指南 09-11