Restringir la edición sobre la marcha de entradas de menú de grub2

Restringir la edición sobre la marcha de entradas de menú de grub2

¿Hay alguna forma de desactivar la e' to edit commands before bootingopción en el menú de GRUB2?

Quiero que todas las entradas del menú estén disponibles para todos los usuarios (por lo que restringirlas con contraseña no es una opción) pero restringir la capacidad de los usuarios para cambiar dichas entradas del menú.

¿Es eso posible?

Respuesta1

En Ubuntu 18.04 empezó a funcionar después de que agregué

GRUB_DISABLE_SUBMENU=y

a /etc/default/grub. Básicamente, los pasos son:

Generar contraseña con:

grub-mkpasswd-pbkdf2

Copie las siguientes líneas al final de /etc/grub.d/40_custom y reemplace la contraseña con la contraseña del resultado anterior. Esto protegerá con contraseña a grub por completo:

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

Permitir la selección de entradas de arranque para diferentes versiones del kernel. editar /etc/grub.d/10_linuxy

  1. Insertar --unrestricteddespués ${CLASS}en la línea echo "menuentry '$(title "$os" [...]en la función linux_entry in /etc/grub.d/10_linux, por ejemplo

    echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
    
  2. Insertar --unrestricteddespués ${CLASS}en la línea ´echo "menuentry '$(echo "$os" [...] in function linux_entry in/etc/grub.d/10_linux`, por ejemplo

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

Agregue la siguiente línea a /etc/default/grub

GRUB_DISABLE_SUBMENU=y

Reconstruya el archivo de configuración de grub ejecutando

update-grub

Respuesta2

Desde elwiki:

Si se habilita alguna forma de protección con contraseña de GRUB 2, se requieren el nombre y la contraseña del superusuario para obtener acceso a la línea de comandos de GRUB 2 y a los modos de edición de menús.

Esto parece significar que es necesario permitir el arranque a usuarios sin privilegios:

El menú de GRUB 2 puede contener elementos protegidos y desprotegidos. El formato para proteger un elemento de menú consiste en agregar la información de acceso del usuario a la línea de título de la entrada del menú.

La presencia de --unrestricted deshabilita la protección con contraseña.

información relacionada