你可能聽過這句老話—— “引導訪問 == 路由訪問”..確實如此!任何有權訪問引導加載程序的人都可以輕鬆獲得系統的 root 訪問權限。我發布了一個指南,解釋瞭如何做到這一點 在 Linux 上重置 root 密碼本教程將向您展示如何通過 Grub 引導加載程序輕鬆重置或恢復您的 root 密碼。一旦有人擁有對機器的物理和/或引導加載程序訪問權限,就無法阻止他們。因此,您需要使用強密碼保護 Grub Bootloader 以增加安全性。 如果您是 Linux 管理員,您需要知道如何保護您的引導加載程序。本指南描述瞭如何在 CentOS 上使用密碼保護 Grub 引導加載程序。我在 CentOS 6.x 和 CentOS 7.x 系統上測試了本指南,它的工作原理如下:

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

對於 CentOS 6.x 和 RHEL 6.x 等較舊的 Linux 發行版,Grub 是默認的引導加載程序。本節介紹如何在 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 菜單。

CentOS6 Grub 菜單CentOS6 Grub 菜單

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

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

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

解鎖 Grub 菜單解鎖 Grub 菜單

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

對於 RHEL 7 及其克隆(CentOS 7、Scientific Linux 7 等),Grub2 是默認的引導加載程序。 保護 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 引導加載程序

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

Enter 解鎖 Grub2 密碼Enter 解鎖 Grub2 密碼

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

解鎖 Grub2解鎖 Grub2

您已經掌握瞭如何在 Linux 上使用密碼保護 Grub 和 Grub2 引導加載程序。 設置 Grub 密碼可能無法完全保護您的系統。但是,它確實為您的 CentOS Linux 服務器增加了一層安全性。

GRUBGRUB 引導菜單 GRUB2LinuxLinuxAdministrationLinuxhowtoLinux 安全密碼保護GRUBBootloader 安全引導加載程序