首页/安全/安全加固速查/GRUB 引导口令(阻断单用户绕过)
主机加固基线90 条

GRUB 引导口令(阻断单用户绕过)

能接触控制台的人可在 GRUB 编辑内核参数进入单用户模式重置 root 口令;给引导器设置 superuser 口令是阻断该路径的关键控制。

安全加固速查安全更新于 2026-10-13

引导口令挡住的是哪条路

能接触控制台的人可以在引导菜单里编辑内核参数,让系统以单用户模式启动,从而直接获得最高权限——不依赖任何口令。给引导器设置超级用户口令,是阻断这条路径的关键控制。需要明确的是它的边界:口令只防「从引导菜单进入」,能物理拆机、挂载磁盘或通过带外管理卡操作的人仍然可以绕过,因此还需要叠加磁盘加密与机房物理安全。

基本信息

加固项引导加载器认证
适用平台Linux(GRUB 2,RHEL/CentOS 与 Debian/Ubuntu)
风险等级高
机制超级用户配置加口令哈希
生效条件修改后必须重新生成引导配置

典型使用场景

  • 机房与托管的物理机:阻断控制台单用户绕过
  • 等保主机安全:引导安全条款的落地动作
  • 合规整改:要求控制台操作必须经过认证
  • 多管理员环境:确认引导配置在服务器交接后仍然有效
  • 应急准备:记录口令托管方式,避免被锁在系统之外

生成口令哈希

生成口令哈希
grub-mkpasswd-pbkdf2              # Debian 与 Ubuntu
grub2-mkpasswd-pbkdf2             # RHEL 与 CentOS
# 交互输入口令后得到形如 grub.pbkdf2.sha512.<迭代次数>.<盐值>.<哈希> 的字符串
# 把完整输出串复制下来,下一步写入配置时使用

写入自定义配置并重新生成

写入自定义配置并重新生成
# /etc/grub.d/40_custom
set superusers="opsadmin"
password_pbkdf2 opsadmin grub.pbkdf2.sha512.<迭代次数>.<盐值>.<实际哈希>
# 保留正常启动不需要口令:在菜单项中使用 --unrestricted 限定
menuentry '正常启动' --unrestricted { ... }

重新生成引导配置

重新生成引导配置
grub-mkconfig -o /boot/grub/grub.cfg              # Debian 与 Ubuntu
grub2-mkconfig -o /boot/grub2/grub.cfg            # RHEL 与 CentOS
grep -n 'superusers\|password_pbkdf2' /boot/grub/grub.cfg /boot/grub2/grub.cfg 2>/dev/null   # 确认写入

命令对照

发行版生成哈希重新生成配置
RHEL 与 CentOSgrub2-mkpasswd-pbkdf2grub2-mkconfig -o /boot/grub2/grub.cfg
Debian 与 Ubuntugrub-mkpasswd-pbkdf2grub-mkconfig -o /boot/grub/grub.cfg
说明两套命令不可混用混用会提示找不到命令
只改自定义配置文件不重新生成引导配置,改动不会生效。另外配置了超级用户后,若菜单项没有标记为不受限,正常启动也会要求输入口令,导致每次重启都需人工介入——这类副作用在服务器上会直接变成可用性问题。
口令与哈希要纳入密钥管理并记录托管位置,避免出现「系统在手边但没人知道引导口令」的情况。部分发行版也支持把口令配置放在独立文件中由主配置引用,具体位置与写法以本机对应手册为准。

边界与配套措施

引导口令解决的是软件层的控制台访问,配套措施要同时安排:为磁盘启用加密,防止拆盘后直接读取数据;使用带外管理卡时为其设置独立认证与访问控制;把控制台访问权限限制在必要的运维人员。三件事合起来才构成完整的物理接触防护。

易错点

  • 改完不重新生成引导配置:改动不生效,验证时却以为已经加固
  • 混淆不同发行版的命令:两套命令不通用,会直接提示找不到命令
  • 菜单项未标记为不受限:正常启动也要口令,重启变成人工介入
  • 口令不托管:引导口令丢失后无法自助恢复,需要额外引导介质
  • 把引导口令当成物理安全:拆盘与带外通道仍可绕过,必须叠加磁盘加密

数据来源与参考

  • GNU GRUB 手册:安全章节(password_pbkdf2)
  • 等保 2.0:主机安全(引导安全)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌