我在我的 Ubuntu LTS 14 64 位上设置了 GRUB 密码保护。为此,我使用 grub-mkpasswd-pbkdf2 生成了密码的哈希值。然后我编辑了 /etc/grub.d/40_custom 以添加以下两行:
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.EC81D.............
更新 Grub 并重新启动后,密码仍然存在,但无处不在。如果我想在 Ubuntu 上启动,我必须输入密码。我只想为“e”编辑 GRUB 菜单设置密码。(以避免单用户模式)
有任何想法吗 ?
谢谢
答案1
我刚刚找到了解决方案。我只需要按照以下说明 将unrestricted
属性添加到文件中的菜单项:/etc/grub.d/10_linux
http://daniel-lange.com/archives/75-Securing-the-grub-boot-loader.html
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
编辑时它将保留密码。
答案2
要允许 Grub 在没有密码的情况下启动默认选项,但要求输入密码才能进行其他所有操作,包括编辑选项,请编辑/etc/grub.d/10_linux
并找到以下行并menuentry
添加,如下所示:--users ''
--unrestricted
if [ x$type != xsimple ] ; then
# ...
echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --users '' \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
else
echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
fi