天天看點

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

目錄

1、什麼是grub加密

2、grub加密步驟

3、grub加密的lock屬性

上篇文章說了,系統在開機的時候,有一個5秒的讀秒時間,友善你進入到<code>grub</code>界面中。

如下圖所示:

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

此時我們按下Enter鍵,就可以進入到<code>grub</code>界面中。

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

在選擇框的正下方可以看到有幾行提示:

可以看到提示,按<code>e</code>鍵就能編輯<code>grub</code>配置檔案中的啟動選項内容。

按<code>e</code>鍵,結果如下圖:

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

提示再按<code>e</code>鍵可直接修改内容。

而<code>grub</code>加密,就是在上面第二張圖的狀态時,需要先輸入我們設定的密碼,才能按<code>e</code>鍵編輯系統啟動參數。也就是說給<code>grub</code>設定一個密碼, 避免像上邊那樣能夠直接進入<code>grub</code>,并編輯其中的系統啟動參數。

1)執行<code>grub-md5-crypt</code>指令成生md5密碼。

執行指令:<code>[root@localhost ~]# grub-md5-crypt</code>

2)設定密碼。

輸入兩次密碼:

生成MD5加密的密碼字元串:<code>$1$Y84LB1$8tMY2PibScmu0Cc8z8U351</code>

這樣就把你輸入的密碼進行了MD5加密,用這個加密字元串來加密<code>grub</code>配置檔案。

3)修改grub的配置檔案。

一定在<code>timeout</code>屬性之後,在<code>splashimage</code>屬性之前,添加<code>password</code>選項,一定是這個順序,放在其他位置不生效。

如下所示:

4)重新開機系統。

重新開機系統後,我們發現進入到<code>grub</code>界面中,下面的提示,原來的<code>e</code>鍵變成了<code>p</code>鍵。

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

我們再按<code>e</code>鍵都是沒有反應的,按<code>p</code>鍵就會讓你輸入密碼,不輸入密碼你就不能編輯<code>grub</code>的配置檔案。

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

輸入後按Enter鍵,才進入到可編輯的<code>grub</code>界面中,<code>e</code>鍵提示又出來了。如下圖:

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

注意:

當你在第四步中第一個圖的時候,就算你不知道密碼,直接按Enter鍵,系統是可以直接啟動的。是以說<code>grub</code>加密是對<code>grub</code>配置檔案的編譯進行了加密,而不是對系統的啟動進行加密。

上面的加密步驟,是對<code>grub</code>菜單整體加密,整體加密後,如果想進入<code>grub</code>編輯界面必須輸入正确的密碼。同時也是不影響系統的正常啟動的。

還有對單個啟動菜單進行加密,但<code>grub</code>的編輯模式是不能鎖定的,還是可以按<code>e</code>鍵進入編輯模式。而且進入編輯模式後,是可以删除<code>password</code>字段的,不是很好,是以不講解了。

如果我想啟動CentOS系統時,既需要<code>grub</code>的整體加密,又需要系統啟動時輸入正确的<code>grub</code>加密密碼,才能正常啟動系統。那應該怎麼做呢?

很簡單,方法如下:在<code>grub</code>的<code>/boot/grub/grub.conf</code>配置檔案中,在<code>title</code>字段中加入<code>lock</code>,代表鎖死,如果不輸入正确的grub密碼,系統是不能啟動的。

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

<code>lock</code>這個屬性千萬不要添加,如果添加了<code>lock</code>屬性在<code>grub</code>的配置檔案中,當你在不輸入密碼的時候,直接按Enter鍵,是不能直接進入系統的,會報錯,如下圖:

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

提示了錯誤32,按任意鍵繼續,就又回來了。

『學了就忘』Linux啟動引導與修複 — 71、grub啟動引導程式的加密

為什麼一定不要添加<code>lock</code>的原因:

在系統啟動的時候,進入到<code>grub</code>啟動引導,此時系統還沒有啟動完成,網卡是還沒加載生效,是以遠端終端是連接配接不上伺服器的,這時候就隻能拿鍵盤做本地輸入。但現在我們的伺服器一般都放在機房或者遠端,你會十分的不友善。是以堅決不能用<code>lock</code>鎖定<code>grub</code>的配置檔案。