GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。但在Linux系统的GRUB启动选择界面当中就可以

按"e"键轻易的进入GRUB菜单的编辑模式,恶意修改后会导致系统的不能正常启动等等一系列问题,如下图:

        在这个界面的时候迅速的按下"esc"键就会停留在这个界面当中

给Linux的GRUB菜单添加密码_第1张图片


        然后按e键就可以轻松的进入对GRUB菜单的编辑模式,在里面恶意添加参数或者删除参数导致系统不能够启动也是可以的.  这篇博客的主要目的就是教大家如何把这个GRUB菜单上个锁也就是添加一个密码

给Linux的GRUB菜单添加密码_第2张图片


        首先我们要进入系统当中,需要更改的配置文件有两个一个是/boot/grub2/grub.cfg文件跟/etc/grub.d/00_header/文件,这边使用xshell软件去连接一下系统查看一下,就是下图的用框框起来的两个文件

给Linux的GRUB菜单添加密码_第3张图片


        再使用cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak跟cp /etc/grub.d/00_header /etc/grub.d/00_header.bak两条命令把那两个关键文件做一个备份


给Linux的GRUB菜单添加密码_第4张图片

给Linux的GRUB菜单添加密码_第5张图片

        接下来使用grub2-mkpasswd-pbkdf2命令创建一个密码. 输入完这个命令后会让你输入口令也就是让你自定义一个密码,我这边输入的是"123".  两次输入完成之后会出现下面一大片的字符串,注意圈起来的地方也就是从grub往后的字符串就代表了刚才设置的密码,这边右击选择复制

给Linux的GRUB菜单添加密码_第6张图片


        接下来使用vim /etc/grub.d/00_header文件进行编辑.打开之后按"shift+G调到末尾行"

给Linux的GRUB菜单添加密码_第7张图片


        然后另起一行输入


cat <<-EOF

set superusers="root" (用户名为root)

passwd_pbkdf2 root  后面加上刚才复制的字符串,如下图最后保存退出 (这边的意思是给账户添加一个密码,也就是刚才生成的字符串)

给Linux的GRUB菜单添加密码_第8张图片


        接着使用grub2-mkconfig -o /boot/grub2/grub.cfg命令重新构建一下这个配置文件,配置完成后重启就可以了

给Linux的GRUB菜单添加密码_第9张图片



    在这个界面的是试着按"e"看能不能进入GRUB的编辑模式

..给Linux的GRUB菜单添加密码_第10张图片


        发现提示输入账户名,这样一来就给我们的GRUB菜单添加了一道安全防护,不知道的情况下是无法进入编辑模式对GRUB进行修改的

给Linux的GRUB菜单添加密码_第11张图片


        然后我输入了刚才设置的账户和密码,Linux有一个机制输入密码的时候不会显示出来,其实已经输入了账户root 密码123,直接回车

给Linux的GRUB菜单添加密码_第12张图片


        已经成功的进入了对GRUB菜单的编辑模式了

给Linux的GRUB菜单添加密码_第13张图片