你可能聽說過這句古老的格言—— “引導訪問 == 根訪問”.確實如此!任何有權訪問引導加載程序的人都可以輕鬆獲得系統的 root 訪問權限。我發布了一個指南,解釋瞭如何 在 Linux 中重置 root 密碼本教程將向您展示如何通過 Grub 引導加載程序輕鬆重置或恢復 root 密碼。一旦有人獲得對您機器的物理和/或引導加載程序訪問權限,就無法阻止他們。因此,應使用強密碼保護 Grub 引導加載程序以增加安全性。 作為 Linux 管理員,您應該知道如何保護您的引導加載程序。本指南將向您展示如何在 CentOS 上使用密碼保護 Grub 引導加載程序。我在 CentOS 6.x 和 CentOS 7.x 系統上測試了本指南,它運行良好,如下所述。

用於 RHEL 6.x、CentOS 6.x 的密碼保護 GRUB 引導加載程序

Grub 是舊 Linux 發行版(例如 CentOS 6.x、RHEL 6.x)上的默認引導加載程序。本節介紹如何在 CentOS 6.x 系統上設置 grub 密碼。

始終建議在進行任何更改之前備份 GRUB 配置文件

# cp /etc/grub.conf /etc/grub.conf.bak

首先,我們需要加密密碼。為此,請以 root 身份登錄到您的 centos 系統並創建一個名為: grub 如下。下面顯示的所有命令應按如下方式運行: root 用戶。

# touch grub

然後使用加密的密碼 md5crypt 命令。為此,請從終端運行以下命令並按 ENTER:

# grub-md5-crypt >grub

輸入您的密碼兩次。請注意,當您在屏幕上輸入密碼時,不會顯示任何內容。無論如何,輸入您的密碼並按 ENTER,然後重新輸入相同的密碼並按 ENTER。

您的密碼已加密。那麼我們需要 /etc/grub.conf 文檔。

讓我們 grub.conf 文檔。為此,您需要兩個文件 grub 和 /etc/grub.conf 文檔。

# vi /root/grub /etc/grub.conf

上面的命令將打開兩個文件 vi 編輯。

您將看到如下所示的加密密碼。移動光標點並將其放在密碼前面。然後輸入 yy 提取(複製)密碼。

Password:
Retype password:
$1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/
複製 Grub 密碼

然後輸入 :n (冒號 n)。這將切換到下一個文件。 /etc/grub.conf.

切換到下一個文件

後部 splashimage=(hd0,0)/grub/splash.xpm.gz 確定按 p 粘貼上一個文件中的加密密碼。

然後按 i 添加行 password --md5 在加密密碼之前,如下圖所示。

password --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0

有關詳細步驟,請參閱下面的屏幕截圖。

CentOS 6 中受密碼保護的 Grub 引導程序CentOS 6 中受密碼保護的 Grub 引導程序

這裡, $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0 CentOS 6 系統的加密 grub 密碼。用你自己的替換它。

然後按 結束 並輸入 :wq 保存並關閉文件。

重新啟動系統。

從現在開始,您必須輸入密碼才能編輯 grub 菜單。

CentOS 6 Grub 菜單CentOS 6 Grub 菜單

要編輯 Grub 菜單, p. 您將被提示輸入密碼。只需輸入您的密碼即可解鎖 Grub 啟動菜單。

解鎖 Grub 啟動菜單解鎖 Grub 啟動菜單

現在您可以在 grub 引導菜單中進行任何必要的更改。

解鎖抓取菜單解鎖抓取菜單

用於 RHEL 7.x、CentOS 7.x 的密碼保護 GRUB2 引導加載程序

Grub2 是 RHEL 7 及其克隆(CentOS 7、Scientific Linux 7 等)上的默認引導加載程序。 保護 Grub2 引導加載程序的密碼與 grub 引導加載程序不同。

首先使用以下命令創建加密密碼 root 用戶:

# grub2-mkpasswd-pbkdf2

示例輸出:

Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B

我創建了一個加密密碼來保護 Grub2 引導加載程序。

你可能已經知道, 不建議 編輯新生成的密碼,直接粘貼到grub2的主配置文件中。

相反,應該將密碼添加到位於以下位置的自定義 Grub2 菜單文件中: /etc/grub.d/ 進入目錄,最後更新 Grub2 的主配置文件。 /etc/grub.cfg.

製作自定義 Grub2 菜單文件的副本。

# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak

然後編輯您的自定義 Grub2 菜單配置文件,如下所示: root 用戶:

# vi /etc/grub.d/40_custom

添加以下行:確保粘貼之前生成的正確密碼。

set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
設置 Grub 密碼設置 Grub 密碼

根據 結束 並輸入 :wq 保存並關閉文件。

現在更新 Grub2 的主配置文件。

確保您擁有 Grub2 主配置文件的備份副本。

# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

使用以下命令更新 Grub2 引導加載程序配置文件:

# grub2-mkconfig -o /boot/grub2/grub.cfg

示例輸出:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.22.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.22.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172
Found initrd image: /boot/initramfs-0-rescue-e250d471d5594282ba042c653cfa0172.img
done

您可以檢查密碼是否設置正確 /etc/grub2.cfg 該文件如下所示。

# cat /etc/grub2.cfg

這是一個示例輸出:

查看 Grub2 文件的內容查看 Grub2 文件的內容

我們都準備好了。重新啟動系統並確保引導加載程序受密碼保護。

重新啟動系統後,嘗試編輯 Grub2 引導加載程序。去做這個, e.

編輯 Grub2 引導加載程序編輯 Grub2 引導加載程序

系統將提示您輸入上一步中定義的用戶名和密碼。

輸入解鎖 Grub2 密碼輸入解鎖 Grub2 密碼

輸入正確的用戶名和密碼後,您應該能夠編輯 Grub2 引導加載程序。

Grub2 解鎖Grub2 解鎖

現在您知道如何在 Linux 中使用密碼保護 Grub 和 Grub2 引導加載程序了。 設置 Grub 密碼可能無法完全保護您的系統。但是,它肯定會為您的 CentOS Linux 服務器增加一層額外的安全性。

GRUBGRUB 引導菜單 GRUB2LinuxLinux AdministrationLinux How-TosLinux SecurityPassword Protection GRUB Bootloader Secure Bootloader