如何使用密碼保護GRUB(Linux)

通常我們大部分時間都花在 防止未經授權的訪問 給我們的團隊:我們配置防火牆、用戶權限、ACL、創建強密碼等; 但我們很少記得 保護我們設備的啟動.

如果一個人可以物理訪問計算機,他們可以重新啟動計算機並 更改grub參數 獲得計算機的管理員訪問權限。 只需在 GRUB“kernel”行末尾添加“1”或“s”即可獲得此類訪問權限。


為了避免這種情況,GRUB 可以使用密碼進行保護,這樣如果不知道密碼,就無法修改其參數。

如果您安裝了 GRUB 引導加載程序(如果您使用最流行的 Linux 發行版,則這是最常見的),您可以使用密碼保護每個 GRUB 菜單項。 這樣,每次您選擇要啟動的操作系統時,它都會要求您輸入指定的密碼才能啟動系統。 另外,如果您的計算機被盜,入侵者將無法訪問您的文件。 聽起來不錯,對吧?

GRUB 2

對於每個 Grub 條目,除了超級用戶(有權通過按“e”鍵修改 Grub 的用戶)之外,還可以建立一個具有修改啟動系統時出現的 GRUB 條目參數的權限的用戶。 我們將在 /etc/grub.d/00_header 文件中執行此操作。 我們用我們最喜歡的編輯器打開文件:

須藤納米 /etc/grub.d/00_header

最後粘貼以下內容:

貓 < < EOF
設定超級使用者=“user1”
密碼 用戶1 密碼1
EOF

其中user1是超級用戶,例如:

貓 < < EOF
設定超級用戶=”超級用戶”
超級用戶密碼123456
EOF

要創建更多用戶,請在下面添加它們:

超級用戶密碼123456

大致如下:

貓 < < EOF
設定超級用戶=“超級用戶”
超級用戶密碼123456
密碼用戶2 7890
EOF

一旦我們建立了我們想要的用戶,我們就保存更改。

保護窗戶 

要保護 Windows,您必須編輯文件 /etc/grub.d/30_os-prober。

須藤納米 /etc/grub.d/30_os-prober

查找一行代碼:

menuentry "${LONGNAME} (在 ${DEVICE} 上)" {

它應該如下所示(其中超級用戶是超級用戶的名稱):

menuentry "${LONGNAME} (在 ${DEVICE})" –users 超級用戶 {

 
保存更改並運行:

sudo update-grub

我打開文件/boot/grub/grub.cfg:

須藤納米/boot/grub/grub.cfg

Windows 條目在哪裡(類似這樣):

菜單“Windows XP Professional”{

將其更改為以下內容(其中 user2 是具有訪問權限的用戶的名稱):

菜單“Windows XP Professional”–用戶 user2 {

重新啟動就完成了。 現在,當您嘗試進入 Windows 時,它會要求您輸入密碼。 如果您按“e”鍵,它也會要求您輸入密碼。

保護Linux

要保護 Linux 內核條目,請編輯 /etc/grub.d/10_linux 文件,並查找以下行:

菜單“$1”{

如果您只希望超級用戶能夠訪問它,它應該如下所示:

菜單項“$1”--用戶 user1 {

如果您希望第二個用戶訪問:

菜單項“$1”–用戶 user2 {

您還可以通過編輯 /etc/grub.d/20_memtest 文件來保護內存檢查輸入:

menuentry "內存測試 (memtest86+)" –users 超級用戶 {

保護所有條目

要保護所有條目,請運行:

sudo sed -i -e '/^menuentry /s/ {/ –users 超級用戶 {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober /etc/ grub.d/40_custom

要撤消此步驟,請運行:

sudo sed -i -e '/^menuentry /s/ –users 超級用戶[/B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-探測 /etc/grub.d/40_custom

GRUB

我們首先打開 GRUB 環境。 我打開一個終端並輸入:

蠐螬

然後我輸入以下命令:

MD5加密

它會詢問您要使用的密碼。 鍵入它並按 Enter 鍵。 您將獲得一個加密的密碼,您必須非常小心地保護它。 現在,使用管理員權限,使用您喜歡的文本編輯器打開 /boot/grub/menu.lst 文件:

sudo gedit /boot/grub/menu.lst

要將密碼設置為您選擇的 GRUB 菜單條目,您必須將以下內容添加到您要保護的每個條目中:

密碼 --md5 我的密碼

其中 my_password 是 md5crypt 返回的(加密的)密碼:之前:

標題 Ubuntu,內核 2.6.8.1-2-386(恢復模式)
root(hd1,2)
內核 /boot/vmlinuz-2.6.8.1-2-386 root=/dev/hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386

則:

標題 Ubuntu,內核 2.6.8.1-2-386(恢復模式)
root(hd1,2)
內核 /boot/vmlinuz-2.6.8.1-2-386 root=/dev/hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

保存文件並重新啟動。 就這麼簡單! 為了防止惡意人員更改受保護條目的配置參數,甚至無法啟動該系統,您可以在“受保護”條目中的 title 參數後面添加一行。 按照我們的示例,它看起來像這樣:

標題 Ubuntu,內核 2.6.8.1-2-386(恢復模式)

root(hd1,2)
內核 /boot/vmlinuz-2.6.8.1-2-386 root=/dev/hdb3 ro single
的initrd /boot/initrd.img-2.6.8.1-2-386
password –md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

下次有人想要啟動該系統時,他們將必須輸入密碼。

來源: 德拉諾弗 & 利用 & Ubuntu論壇 & 埃拉夫開發者


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   馬塞洛·米蘭達 他說:

    您好,我需要幫助,我想用密碼保護我的 Android 系統的內核,因為如果設備被盜,他們會更改 ROM,我將永遠無法恢復它! 如果你能幫助我...我有超級用戶訪問權限,但我希望你在將計算機置於下載模式時向我索要通行證。 提前致謝。

  2.   何塞·達米安 他說:

    傑出的貢獻。 已訂閱