grub加密与解密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: grub加密与解密

前言

grub默认无加密,用户可免密以单用户模式进入系统修改root密码。若想增强其安全性,可以将grub加密。

GRUB2提供两种类型的密码保护:

  • 修改菜单条目时需要密码,但启动菜单条目时不需要密码;
  • 修改菜单条目和启动一个、多个或所有菜单条目都需要密码

CentOS 7.2之前和之后的加密方式略有区别,实验的操作系统版本为CentOS 7.5

加密步骤

编辑需密码认证,启动不需要认证

  1. 使用grub2-setpassword生成加密密码,改命令会在/boot/grub2目录下生成一个user.cfg文件。这种方式可以防止修改GRUB菜单条目,但是不能防止启动。如果启动时也要密码认证,需要修改grub配置文件。
grub2-setpassword
# 根据提示输入两次密码
  1. 重启测试,在引导菜单中按"e"键,提示输入用户名和密码。认证成功则进入编辑页面,认证失败则正常启动。

编辑和启动都需要密码认证

修改/boot/grub2/grub.cfg文件,搜索10_linux,去掉BEGIN和END之间的两处--unrestricted参数,这样便可以启动也需要密码认证

解密

如果系统正常运行中,则删掉/boot/grub2/user.cfg即可。

如果密码忘记了,可使用系统的镜像文件制作启动盘(比如用U盘制作启动盘),在BIOS引导的时候设置为U盘为优先启动项,选择Troubleshooting -> Rescue system -> 1) continue,自动检测到系统后,进入一个shell,在该shell下执行chroot /mnt/sysimage切换根系统。这时候进入的根系统便是硬盘中实际的根系统。找到/boot/grub2/user.cfg,删掉即可。也可以注释/boot/grub2/grub.cfg中以下部分内容:

## BEGIN /etc/grub.d/01_users ###
if [ -f ${prefix}/user.cfg ]; then
  source ${prefix}/user.cfg
  if [ -n "${GRUB2_PASSWORD}" ]; then
    set superusers="root"
    export superusers
    password_pbkdf2 root ${GRUB2_PASSWORD}
  fi
fi
## END /etc/grub.d/01_users ###

参考

相关文章
|
开发工具 数据安全/隐私保护
|
安全 Linux 数据安全/隐私保护
玩转grub加密
我们在启动Linux时可以轻松进入grub编辑界面,这对于Linux操作系统来说似乎就不那么安全了。为什么这么说呢?别忘了,通过编辑grub可以轻松破解root用户密码哦!那么,有没有办法对grub的编辑模式进行加密操作呢?当然是可以的。
705 0
|
Linux 数据安全/隐私保护
16.14 Linux GRUB加密
Linux 在启动时,在 GRUB 管理界面中是可以通过按”e”键进入编辑模式,修改启动选项的。
195 0
16.14 Linux GRUB加密
|
安全 Linux 数据安全/隐私保护
|
Linux 数据安全/隐私保护
|
安全 Linux 数据安全/隐私保护