El gestor de arranque grub2 permite la creación de usuarios, lo cual permite controlar el acceso a la configuración del menú de grub durante el arranque o autorizar sólo a determinados usuarios el uso de algunas de las entradas del menú.
Para ello, se debe indicar en los archivos de configuración de grub2 los usuarios y las contraseñas que van a utilizar. Dichos archivos se encuentran en la carpeta /etc/grub.d.
En dicha carpeta puedes encontrar varios archivos que corresponden a la cabecera y a cada una de las entradas del menú. Además se encuentra el archivo 40_custom para realizar configuraciones personales y ése es el que vamos a utilizar. Por tanto, debes editar el archivo /etc/grub.d/40_custom y añadir al final las siguientes líneas:
set superusers="nombreUsuario"
password nombreUsuario contraseñaUsuario
Ese usuario que se indique como superusuario (superusers) tendrá permisos para editar las entradas del menu grub durante el arranque pulsando la tecla "e". Un superusuario es requerido, pero se pueden indicar más usuarios normales a continuación, indicando únicamente la línea de password. Por ejemplo:
set superusers="user1"
password user1 1234
password user2 5678
En este ejemplo el usuario user1 es un superusuario que podrá editar las entradas del menú, y el usuario user2 es un usuario normal.
Una vez que se guarden los cambios en el archivo de configuración, es necesario actualizar grub indicando desde el terminal la orden:
sudo update-grub
Ahora podrás comprobar en el arranque de la máquina que al aparecer el menú de grub sólo podrás editar las entradas (pulsando la tecla "e") indicando el nombre de usuario del superusuario y su contraseña (Si no aparece el menú de grub durante el arranque, prueba a arrancar manteniendo pulsada la tecla mayúsculas).
Generar contraseñas codificadas para usuarios de grub
Si deseas que la contraseña que utilicen los usuarios de grub no se muestren en los archivos de configuración debes usar la herramienta grub-mkpasswd-pbkdf2. Al escribir esa orden en el terminal te solicitará la contraseña que quieres cifrar y a continuación mostrará el resultado de cifrar la contraseña con una larga serie de dígitos hexadecimales:
Debes copiar todo lo que aparece detrás de "Your PBKDF2 is" y pegarlo en el archivo de configuración 40_custom que hemos utilizado antes, en lugar de la contraseña visible. Además se debe utilizar la palabra password_pbkdf2 en vez de sólo password en la línea de configuración del usuario:
Al igual que antes, debe actualizarse el grub con update-grub tras guardar los cambios del archivo de configuración.