上篇文章說了,系統在開機的時候,有一個5秒的讀秒時間,方便你進入到grub
介面中。如下圖:
此時我們按下Enter鍵,就可以進入到grub
介面中。如下圖:
在選擇框的正下方可以看到有幾行提示:
使用 ↑ 和 ↓ 鍵高亮某個選項,並按回車鍵確認來引導選定的操作系統。
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鍵,如下圖:
提示再按e鍵可直接修改內容。
而grub加密,就是在圖2的狀態時,需要先輸入我們設定的密碼,才能 纔能按e鍵編輯系統啓動參數。也就是說給grub設定一個密碼, 避免像上邊那樣直接進入grub,並編輯其中的系統啓動參數。
grub-md5-crypt
命令成生md5密碼[root@localhost ~ ] # grub-md5-crypt
Pas sword:
Retype pas sword:
生成MD5加密密碼字串
$1$Y84LB1$8tMY2PibScmu0Cc8z8U351
這樣就把你輸入的密碼進行了MD5加密,用這個加密字串來加密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鍵。
我們再按e鍵都是沒有反應的,按p鍵就會讓你輸入密碼,不輸入密碼你就不能編輯grub的組態檔。如下圖:
輸入後按Enter鍵,才進入到可編輯的grub
介面中,e鍵提示又出來了。如下圖:
當你在第四部第一個圖的時候,就算你不知道密碼,直接按Enter鍵,系統是可以直接啓動的。所以說grub加密是對grub組態檔的編譯進行了加密,而不是對系統的啓動進行加密。
上面的加密步驟,是對grub選單整體加密,整體加密後,如果想進入grub編輯介面必須輸入正確的密碼。同時也是不影響系統的正常啓動的。(還有對單個啓動選單進行加密,但grub的編輯模式是不能鎖定的,還是可以按「e」鍵進入編輯模式。而且進入編輯模式後,是可以刪除password欄位的,不是很好,所以不講解了。)
如果我想啓動CentOS系統時,既需要grub的整體加密,又需要系統啓動時輸入正確的grub加密密碼,才能 纔能正常啓動。那應該怎麼做呢?
很簡單,方法如下:在grub的/boot/grub/grub.conf
組態檔中,在title欄位中加入lock,代表鎖死,如果不輸入正確的grub密碼,系統是不能啓動的。如下圖:
lock這個屬性千萬不要新增,如果新增了lock屬性在grub的組態檔中,當你在圖4的時候,直接按Enter鍵,是不能直接進入系統的,會報錯,如下圖:
提示錯誤32,按任意鍵繼續,就又回來了。
在系統啓動的時候,進入到grub啓動引導,此時系統還沒有啓動完成,網絡卡是還沒載入生效,所以遠端終端是連線不上伺服器的,這時候就只能拿鍵盤做本地輸入。但現在我們的伺服器一般都放在機房或者遠端,你會十分的不方便。所以堅決不能用lock鎖定grub的組態檔。