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


1、什么是grub加密

上篇文章說了,系統在開機的時候,有一個5秒的讀秒時間,方便你進入到grub界面中。

如下圖所示:

image

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

如下圖所示:

image

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

# 使用 ↑ 和 ↓ 鍵高亮某個選項,並按回車鍵確認來引導選定的操作系統。
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鍵,結果如下圖:

image

提示再按e鍵可直接修改內容。

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

2、grub加密步驟

1)執行grub-md5-crypt命令成生md5密碼。

執行命令:[root@localhost ~]# grub-md5-crypt

2)設置密碼。

輸入兩次密碼:

Pas sword:
Retype pas sword:

生成MD5加密的密碼字符串:$1$Y84LB1$8tMY2PibScmu0Cc8z8U351

這樣就把你輸入的密碼進行了MD5加密,用這個加密字符串來加密grub配置文件。

3)修改grub的配置文件。

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

如下所示:

[root@localhost ~]# vim /boot/grub/grub.conf

# 內容
default=0
timeout=5

# password選項放在整體設置處。
password --md5 $1$Y84LB1 $8tMY2PibScmu0Cc8z8U35/

splashimage=(hd 0,0)/grub/splash.xpm.gz

4)重啟系統。

重啟系統后,我們發現進入到grub界面中,下面的提示,原來的e鍵變成了p鍵。

image

我們再按e鍵都是沒有反應的,按p鍵就會讓你輸入密碼,不輸入密碼你就不能編輯grub的配置文件。

如下圖所示:

image

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

image

注意:

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

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

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

3、grub加密的lock屬性

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

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

如下圖所示:

image

注意:

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

image

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

image

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM