GRUB2 密码编辑保护

GRUB2 密码编辑保护

如果我使用密码保护 GRUB2,它将被写入 grub2.cgf 文件中。

如果潜在用户安装该驱动器并对其进行更改,则有可能更改 root 密码并修改系统。

具体来说,如果你在另一台机器上挂载该磁盘,并手动粘贴在另一台机器上生成的 GRUB2 密码,下次重启时,你就可以使用新密码编辑 GRUB。

有办法保护它吗?我试过使用 luks,但我不想每次启动系统时都输入密码。

答案1

如果是为了使用密码保护 Grub2 引导程序不被修改。

如何使用密码保护 Grub2 引导加载程序:

首先我们生成一个加密密码。

  sudo grub-mkpasswd-pbkdf2

我们将得到类似如下的输出:

  Enter password: 
  Enter password: 
  Reenter password: 
  Your PBKDF2 is grub.pbkdf2.sha512.10000.743275C021122091A9EF4602AB6EF14C22F8B7AC6C22A0A90C0283C0EBC8935E6AC255C49AD6FBC33FC063BBF7AB6A7A3523BBD78C20CCA94F6063CD201C5B03.8968F047042AE0C1264F7CB657601C0E95A1E55555C097954FBA18FAC80A1F30B06ADF651F9DC41F55C6EEA74440C11134440B0E3C84CDD5C5A2C7BA09D99995

现在需要编辑文件:/etc/grub.d/00_header

  sudo nano /etc/grub.d/00_header
  

在文件末尾,必须放置以下几行,注意生成的用户名和密码保持在一行上。

  cat << EOF
  set superusers="Giuseppe" 
  password_pbkdf2 Giuseppe grub.pbkdf2.sha512.10000.743275C021122091A9EF4602AB6EF14C22F8B7AC6C22A0A90C0283C0EBC8935E6AC255C49AD6FBC33FC063BBF7AB6A7A3523BBD78C20CCA94F6063CD201C5B03.8968F047042AE0C1264F7CB657601C0E95A1E55555C097954FBA18FAC80A1F30B06ADF651F9DC41F55C6EEA74440C11134440B0E3C84CDD5C5A2C7BA09D99995
  EOF
  
  

现在需要编辑文件 /etc/grub.d/10_linux

  sudo nano /etc/grub.d/10_linux
  

在此文件中,您需要找到 linux-entry() 函数。

它位于大约 64 号线。

在这个函数中,大约在第 75 行我们放置了 printf 命令。

在这个命令中,需要引入--user选项,后跟设置超级用户的用户名。

在生成的每个菜单中完成此操作后,将添加 --users 选项,保护启动菜单中安装的不同内核的所有条目。

  linux_entry ()
  {
      os="$1"
      version="$2"
      type="$3"
      args="$4"
    -  
    -  
    -
      
     fi
     printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
     cat << EOF   
     recordfail
     

修改后的线路

     printf "menuentry --users Giuseppe'${title}' ${CLASS} {\n" "${os}" "${version}"
     

最后,您只需更新 Grub2 即可使更改生效。

sudo update-grub
             



  

相关内容