Proteger el cargador de arranque
Incluso antes de que se haya iniciado el sistema operativo, GRUB permite el acceso a los sistemas de archivos. Los usuarios sin permisos de administrador pueden acceder a los ficheros del sistema Linux a los que no podrían acceder una vez se hubiera iniciado el sistema. Para impedir este tipo de acceso o para evitar que los usuarios inicien otros sistemas operativos se puede añadir una contraseña a GRUB.
Al introducir contraseñas no se muestra ningún carácter por motivos de seguridad. Además, las contraseñas siempre se piden dos veces para confirmar que la escribió correctamente. |
Ejecute una terminal (consola) para realizar las operaciones que se indican a continuación e inicie una sesión como administrador con la orden
su -
Al hacerlo se le pedirá que introduzca la contraseña de administrador. Los pasos a seguir son distintos si se está utilizando GRUB legacy que si se está usando GRUB2. Este último se usa por defecto a partir de la versión 12.2 de openSUSE.
GRUB2
Ejecute el comando
grub2-mkpasswd-pbkdf2
Introduzca la contraseña y vuelva a hacerlo para confirmar que la ha escrito bien.
Enter password:
Reenter password:
Como resultado obtendrá la contraseña.
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.EAC91CFB569AC8245C13794653FD6DC3C470E9243AB439AA1728FB3842FB4EB
Ahora hay que añadir el usuario y la contraseña cifrada al archivo /etc/grub.d/40_custom. Ejecute el editor con la orden
joe /etc/grub.d/40_custom
y añada lo siguiente
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.EAC91CFB569AC8245C13794653FD6DC3C470E9243AB439AA1728FB3842FB4EB
Por último, ejecutamos el siguiente comando para guardar los cambios
grub2-mkconfig -o /boot/grub2/grub.cfg
GRUB legacy
Ejecute el comando
grub-md5-crypt
e introduzca la clave que quiere para GRUB:
Password: Retype password:
Obtendrá como resultado la contraseña cifrada.
$1$492A/1$V/L6GPZ2NAGMQodID/yLc1
Abra el archivo /boot/grub/menu.lst con la orden
joe /boot/menu/menu.lst
y añada la siguiente línea al principio del mismo
password --md5 $1$492A/1$V/L6GPZ2NAGMQodID/yLc1
A partir de ahora solo se podrán ejecutar comandos en el prompt de GRUB pulsando la tecla P y escribiendo la contraseña. Sin embargo, los usuarios aún pueden arrancar otros sistemas operativos desde el menú de arranque. Para prevenir esto, añada la palabra lock en cada sección del archivo menu.lst para la que no quiera permitir que se arranque sin introducir la contraseña. Las secciones empiezan con la palabra title y van seguidas del texto que aparece en el menú de GRUB. Por ejemplo,
title linux kernel (hd0,4)/vmlinuz root=/dev/sda7 vga=791 initrd (hd0,4)/initrd lock
Para terminar de editar el archivo menu.lst y grabar los cambios, pulse la combinación de teclas CONTROL+K+X. Después de reiniciar el sistema, al seleccionar la entrada linux en el menú de arranque, aparecerá el mensaje de error
Error 32: Must be authenticated
Pulse la tecla Entrar para acceder al menú. Entonces pulse P para obtener un indicador donde introducir la contraseña. Después de introducirla y de pulsar Entrar, debería arrancar el sistema operativo seleccionado (linux en este caso)