GRUB密码是用于保护GRUB(Grand Unified Bootloader)引导加载程序的安全机制,主要分为两类:菜单密码和编辑密码。以下是详细解释:
init
等)。类型 | 功能 |
---|---|
菜单密码 | 用户必须输入密码才能选择启动项(但可能仍能查看菜单)。 |
编辑密码 | 用户必须输入密码才能编辑GRUB菜单项(如按e 修改启动参数)。 |
GRUB密码通常使用PBKDF2加密(推荐)或明文(不安全)。
示例加密命令(通过grub-mkpasswd-pbkdf2
生成):
grub-mkpasswd-pbkdf2
# 输入密码后,输出类似:
grub.pbkdf2.sha512.10000.9A89E6...
sudo grub-mkpasswd-pbkdf2
# 记录输出的加密字符串
sudo nano /etc/grub.d/40_custom
添加以下内容(替换[加密密码]
为实际值):
set superusers="root" # 定义超级用户
password_pbkdf2 root [加密密码] # 设置密码
sudo update-grub
在/etc/grub.d/40_custom
中为特定菜单项添加--unrestricted
(免密码)或--users
(指定用户):
menuentry "Ubuntu" --unrestricted { ... }
menuentry "Recovery" --users root { ... }
password
命令而非password_pbkdf2
)。重启后尝试编辑GRUB菜单(按e
),系统应提示输入密码。
通过以上步骤,您可以为GRUB设置安全的密码保护,防止未授权的启动参数修改。如果需要更细粒度的控制,可以结合--users
和--unrestricted
进一步配置。