【学了就忘Linux启动引导与修复】— 4.grub加密

1、什么是grub加密

上篇文章说了,系统在开机的时候,有一个5秒的读秒时间,方便你进入到grub界面中。如下图:

图1

此时我们按下Enter键,就可以进入到grub界面中。如下图:

图2

在选择框的正下方可以看到有几行提示:

使用 ↑ 和 ↓ 键高亮某个选项,并按回车键确认来引导选定的操作系统。
Use the ↑ and ↓ keys to select which entry is highlighted.
Press enter to boot the selected OS,

按e键在启动之前编辑命令,
'e' to edit the connands before booting,
按a键在启动之前修改内核参数,
'a' to nodify the kernel argunents before booting, 
按c键切换命令行(esc键返回)。
or 'c' for a connand-1 ine.

可以看到提示,按e键就能编辑grub配置文件中的启动选项内容。

按e键,如下图:

图3

提示再按e键可直接修改内容。

而grub加密,就是在图2的状态时,需要先输入我们设定的密码,才能按e键编辑系统启动参数。也就是说给grub设置一个密码, 避免像上边那样直接进入grub,并编辑其中的系统启动参数。

2、grub加密步骤

步骤一,执行grub-md5-crypt命令成生md5密码

[root@localhost ~ ] # grub-md5-crypt

步骤二,输入两次密码

Pas sword:
Retype pas sword:
生成MD5加密密码字符串
Y84LB1$8tMY2PibScmu0Cc8z8U351

这样就把你输入的密码进行了MD5加密,用这个加密字符串来加密grub配置文件。

第三步,修改grub的配置文件

一定在timeout属性之后,在splashimage属性之前,添加password选项,一定是这个顺序,放在其他位置不生效。如下:

[root@localhost ~ ] # vim /boot/grub/grub.conf 
#内容
default=0
timeout=5

#password选项放在整体设置处。
password --md5 $1$Y84LB1 $8tMY2PibScmu0Cc8z8U35/

splashimage=(hd0,0)/grub/splash.xpm.gz
第四步,重启系统。

重启系统后,我们发现进入到grub界面中,下面的提示,原来的e键变成了p键。

图4

我们再按e键都是没有反应的,按p键就会让你输入密码,不输入密码你就不能编辑grub的配置文件。如下图:

输入后按Enter键,才进入到可编辑的grub界面中,e键提示又出来了。如下图:

注意:

当你在图4的时候,就算你不知道密码,直接按Enter键,系统是可以直接启动的。所以说grub加密是对grub配置文件的编译进行了加密,而不是对系统的启动进行加密。

上面的加密步骤,是对grub菜单整体加密,整体加密后,如果想进入grub编辑界面必须输入正确的密码。同时也是不影响系统的正常启动的。(还有对单个启动菜单进行加密,但grub的编辑模式是不能锁定的,还是可以按“e”键进入编辑模式。而且进入编辑模式后,是可以删除password字段的,不是很好,所以不讲解了。)

3、grub加密的lock属性

如果我想启动CentOS系统时,既需要grub的整体加密,又需要系统启动时输入正确的grub加密密码,才能正常启动。那应该怎么做呢?

很简单,方法如下:在grub的/boot/grub/grub.conf配置文件中,在title字段中加入lock,代表锁死,如果不输入正确的grub密码,系统是不能启动的。如下图:

注意:

lock这个属性千万不要添加,如果添加了lock属性在grub的配置文件中,当你在图4的时候,直接按Enter键,是不能直接进入系统的,会报错,如下图:

提示错误32,按任意键继续,就又回来了。

为什么一定不要添加lock的原因:

在系统启动的时候,进入到grub启动引导,此时系统还没有启动完成,网卡是还没加载生效,所以远程终端是连接不上服务器的,这时候就只能拿键盘做本地输入。但现在我们的服务器一般都放在机房或者远端,你会十分的不方便。所以坚决不能用lock锁定grub的配置文件。

你可能感兴趣的:(【学了就忘Linux启动引导与修复】— 4.grub加密)