Linux | 加密GRUB

Linux 加密GRUB.

GRUB介绍.

GRUB是一个启动加载器,即GRUB 和统一启动加载器,承载自PA项目.开发新的启动加载器来代替现在一个GR启动器(Legacy的启动加载器).

配置GRUB

你可以在每次启动GRUB的时候载入配置文件/boot/grub/grub.cfg.使用工具来#生成grub.cfg,或者可以手动#自定义grub.cfg.
生成grub.cfg

  • 每次修改或修改/etc/default/grub中/etc/grub.d/的文件之后,都需要重新生成/boot/grub/grub.cfg.
  • 默认的文件路径是/boot/grub/grub.cfg,不是/boot/grub/i386-pc/grub.cfg.
grub-mkconfig -o /boot/grub/grub.cfg

GRUB菜单配置文件.

  • /etc/default/grub #grub菜单配置.

Linux加密GRUB

  • 防止非法用户通过单用户模式下修改密码,强烈建议配置grub密码.

配置GRUB全局密码.

  • 此方法配置,每次引导Kernel都需要输入用户名,密码.
  • /etc/grub.d/40_custom #配置文件.
grub-mkpasswd-pbkdf2

生成加密密码

cat << "EOF" >>/etc/grub.d/40_custom
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.583DF046A6659818B99347C1BB9B44D325E567654A2A7143FAA5568B589ACC04FC3B05578AD00C4F3530728E4A9F5293DCAADA8DEA660064C8F7B7F0AA0B0400.8CA5948E6BCA1EE30F263A844DA36F35812888D2C1F2CE701E06BAE0FB9225B737820783141DFC6848E2D763140AD5C9D186240315AA7B478441F7D669F56366
EOF
  • 注意!!这种方式配置的密码每次引导Kernel都要输入用户名密码.

更新grub.cfg.

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

配置GRUB菜单密码.

grub-mkpasswd-pbkdf2

生成加密密码

  • 配置:/etc/grub.d/00_header
cat  <<"EOF"
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.29D503671326FBD3082938E0213081016033595B3090E45078CAD5515882A4FB7FB6C79E9010A6D4EB8F0E69823271A302876137319AEA4897333B9BD93F6F75.                                     C0E05E8BE73BDE2FE07136EC74947C5E22F96A8C18AF8D8FA8EE8AD73B3CDE65965D32B83714FB89B74DBBE3D4BD4CC12AF82413D8880749F68D1E78976580E0
EOF

#注意务必将以上代码复制到/etc/grub.d/00_header配置文件下. 

将加密后的密文使用此格式复制到文件尾

  • 配置:/etc/grub.d/10_linux

找到linux_entry()函数.

      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

原配置

      echo "menuentry --user=root'$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
  else
      echo "menuentry --unrestricted'$(echo "$os" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

修改后的配置

更新grub.cfg.

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

GRUB全局加密效果

GRUB菜单加密效果


   转载规则


《Linux | 加密GRUB》Bad-BoY 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
常见的 | TCP端口 常见的 | TCP端口
常见的TCP端口.常见的TCP端口.服务端口传输协议FTP(传输数据)20TCPFTP(传输控制信息)21TCPSSH22TCPTelnet23TCPSMTP25TCPDNS53UDPDSF55TCPDHCP(发送)67UDPDHCP(接收
2022-06-12
下一篇 
Linux|恢复ext4下误删除的文件 Linux|恢复ext4下误删除的文件
Linux恢复ext4下误删除的文件extundelete简介.extundelete 是一个实用程序,可以从 ext3 或 ext4 分区中恢复已删除的文件.ext3 和 ext4 文件系统是 Linux 发行版(如 Mint、Magei
2022-04-24
  目录