Cómo proteger con contraseña el menú de Grub

9

Cómo proteger con contraseña el menú Grub del ro recovery nomodesetcomando. Quiero que no haya nadie a menos que tengas la contraseña para hacer cambios en el menú para intentar acceder a recovery.grub

Randol Albert
fuente
No está del todo claro. ¿Desea proteger con contraseña la capacidad de iniciar o la capacidad de editar la configuración de grub / llegar a una consola de grub?
Seth
Preferiblemente ambos, y ¿podría mostrarme los comandos en detalle? Soy un poco nuevo en Linux
Randol Albert
Hay una opción para deshabilitar el modo de recuperación en grub, así como hacer que grub no aparezca (es decir, iniciar directamente en un sistema operativo particular que elija, o si solo tiene un sistema operativo, inicie sin demora). Estaría interesado en eso ? Avísame, publicaré esto como respuesta si quieres
Sergiy Kolodyazhnyy

Respuestas:

13

Grub le permite proteger con contraseña su configuración y consola, así como las entradas individuales del sistema operativo. Tenga en cuenta que esto no detendrá a las personas dedicadas, especialmente a las que saben lo que están haciendo. Pero supongo que lo sabes. Empecemos.

generar un hash de contraseña ..

Puede almacenar su contraseña de grub en texto sin formato, pero eso es completamente inseguro y cualquiera que tenga acceso a su cuenta podría resolverlo rápidamente. Para evitar esto, hash la contraseña usando el grub-mkpasswd-pbkdf2comando, así:

user@host~ % grub-mkpasswd-pbkdf2
Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.63553D205CF6E...  

Mientras escribe su contraseña, no se mostrarán caracteres en la terminal, esto es para evitar que las personas miren por encima de sus hombros, etc. Ahora, copie la totalidad de su hash con Ctrl+ Shift+ C.

protegiendo la configuración, consola ..

Correr:

sudo nano /etc/grub.d/40_custom  

Esto creará un nuevo archivo de configuración llamado 40_customen el directorio de configuración de grub. Ahora agregue las líneas:

set superusers="username"  
password_pbkdf2 username hash  

Donde usernamees un nombre de usuario de su elección y hashes el hash que generamos en el último comando. Presione Ctrl+ Oy luego Ctrl+ Xpara guardar y salir. Correr:

sudo update-grub  

Para finalizar los cambios. Ahora, cuando alguien intenta editar la configuración de grub o acceder a una consola de grub, le pedirá un nombre de usuario y contraseña.

Proteger con contraseña las entradas del sistema operativo.

Actualmente, el único método para lograr esto que puedo encontrar es editarlo /boot/grub/grub.cfgmanualmente. Sin embargo, esto es solo temporal, ya que cualquier nueva actualización del kernel reescribirá este archivo y sus contraseñas desaparecerán (tenga en cuenta que esto no afecta la contraseña de consola / edición que configuramos anteriormente). Todos los demás métodos que he encontrado hasta ahora están extremadamente desactualizados y ya no puedo hacer que funcionen.

Le pregunté a la lista de correo de grub si hay un método más nuevo y editaré esta respuesta tan pronto como me entere.

Seth
fuente
3
Grub 2.0+ solicita una contraseña para arrancar después de estas manipulaciones. Esto se debe a que todas las entradas ahora están "restringidas" de forma predeterminada. Para iniciar sin una contraseña , debe agregar "- sin restricciones" a los elementos de inicio necesarios .
Raz
6

El manual de GRUB tiene una sección sobre seguridad . Esto le indica cómo proteger con contraseña su menú de arranque GRUB para restringir el acceso a operaciones específicas o variantes de arranque. Contiene un pequeño ejemplo.

NZD
fuente
1
si el ejemplo es pequeño, puede agregar a su respuesta
rpax
2
@rpax: La respuesta de Seth ya contiene un ejemplo. Agregó su respuesta después de que publiqué la mía.
NZD