尝试为 grub2 命令行设置密码适用于一切

尝试为 grub2 命令行设置密码适用于一切

我正在尝试编辑 grub.cfg 文件,以便它具有输入命令行的密码(按下“e”后打开)。我无法通过编辑 /etc/grub.d/ 中的脚本来做到这一点,因为它不是我的个人电脑,而且我的老板已经编辑了 grub.cfg,而 grub-update 会删除他的更改(我尝试这样做,但没有成功)。

现在它看起来是这样的:

Debian 
Advanced Options

Debian 是默认选项,任何人都可以访问。高级选项是一个包含多个菜单项的子菜单,需要密码(通过在子菜单括号后设置用户和密码来完成)

问题是,如果有人按下“e”,他就可以访问命令行,从而轻松成为 root 用户。

我发现我想要的应该在40_custom或者41_custom上做,所以我直接在grub.cfg上做了这样的事情:

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
set superusers="root"  
password_pbkdf2 root grub.pbkdf2.sha512...
### END /etc/grub.d/40_custom ###

之后,我重新启动,并要求输入密码一切,也适用于第一个菜单项(Debian),但不应该。

我对 41_custom 进行了同样的尝试:

### BEGIN /etc/grub.d/41_custom ###
if [ -f  \${config_directory}/custom.cfg ]; then
  source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
  source \$prefix/custom.cfg;
fi
set superusers="root"  
password_pbkdf2 root grub.pbkdf2.sha512...
### END /etc/grub.d/41_custom ###

结果相同。

我读完了所有找到的内容,但还是没发现我遗漏了什么。如果我没有表达清楚,我深表歉意,因为英语不是我的母语,但还是非常感谢。

答案1

我找到了一个简单的方法,即设置全局密码并将 --unrestricted 添加到默认菜单项。如下所示这里

我不知道这是否是最好的解决方案,但它确实有效。

如果有人能解释正确的方法,我会回来并将他的答案标记为最佳。

相关内容