Restringindo a edição instantânea das entradas do menu grub2

Restringindo a edição instantânea das entradas do menu grub2

Existe uma maneira de desabilitar a e' to edit commands before bootingopção no menu GRUB2?

Quero que todas as entradas de menu estejam disponíveis para todos os usuários (portanto, restringi-las com senha não é uma opção), mas restrinja a capacidade dos usuários de alterar essas entradas de menu.

Isso é possível?

Responder1

No Ubuntu 18.04 começou a funcionar depois que adicionei

GRUB_DISABLE_SUBMENU=y

para /etc/default/grub. Então, essencialmente, as etapas são:

Gere senha com:

grub-mkpasswd-pbkdf2

Copie as linhas a seguir para o final de /etc/grub.d/40_custom e substitua a senha pela senha da saída acima. Isso protegerá completamente o grub com senha:

set superusers="grubadm"
password_pbkdf2 grubadm grub.pbkdf2.sha512.10000.D23193A0BE80A8D94606716D2DBE18C1AC77563FD87B7DA41824467E9393EBFFAF8B909DFAD83293325016EF6DA112EBAC819B3196F2D9F764F56E037E4EB86A.78AAD14971909106B4BE80AB6BF704804E67D5486966D9A85289E5449F08BD54E55B83B28CF0A4F2B4D486F2136439B7786135B8D59C611BF9DE2CDE965DB791

Permitir a seleção de entradas de inicialização para diferentes versões do kernel. editar /etc/grub.d/10_linuxe

  1. Insira --unrestricteddepois ${CLASS}na linha echo "menuentry '$(title "$os" [...]na função linux_entry in /etc/grub.d/10_linux, por exemplo

    echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
    
  2. Insira --unrestricteddepois ${CLASS}na linha ´echo "menuentry '$(echo "$os" [...] in function linux_entry in/etc/grub.d/10_linux`, por exemplo

    echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
    

Adicione a seguinte linha ao /etc/default/grub

GRUB_DISABLE_SUBMENU=y

Reconstrua o arquivo grub conf executando

update-grub

Responder2

Dewiki:

Se qualquer forma de proteção por senha do GRUB 2 estiver ativada, o nome e a senha do superusuário serão necessários para obter acesso à linha de comando do GRUB 2 e aos modos de edição de menu.

Isso parece significar que você precisa permitir a inicialização de usuários sem privilégios:

O menu GRUB 2 pode conter itens protegidos e desprotegidos. O formato para proteger um item de menu consiste em adicionar as informações de acesso do usuário à linha de título da entrada do menu.

A presença de --unrestricted desativa a proteção por senha.

informação relacionada