Colobridge WIKI

как использовать пароль для grub

Применимость: Linux, Centos-7, RHEL-7

Слова для поиска: загрузчик груб пароль password grub2


Если кто либо имеет доступ к консоли сервера и можно изменить список параметров для загрузки то моя система незащищена. Как настроить систему чтобы можно было менять параметры загрузки только зная пароль?

Установим пароль для grub2 и ограничим доступ к файлам. Ограничьте доступ к файлу. Никому кроме root нельзя позволять читать и тем более менять содержимое

chmod 600 /boot/grub2/grub.cfg

Сгенерируем хэш пароля:

# grub-mkpasswd-pbkdf2 
Enter password: 
Reenter password: 
Your PBKDF2 is grub.pbkdf2.sha512.10000.2D4EE3....

На выводе команды вы получите значение типа - grub.pbkdf2.sha512.10000.2D4EE3….

Это зашифрованный пароль, который вы должны установить в основной конфигурационный файл GRUB2 Bootloader:

/boot/grub2/grub.cfg 

Но рекомендуется, не редактировать конфигурационный файл /boot/grub2/grub.cfg напрямую, этот файл будет перезаписан автоматически. Вы должны скопировать зашифрованный пароль в /etc/grub.d/40_custom . См ниже:

/etc/grub.d/40_custom

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

set superusers="badmin"

password_pbkdf2 badmin grub.pbkdf2.sha512.10000.2D4EE3.....................

Не используйте в параметре set superusers=«odmin» что нибудь типа root, admin, Administrator и т.п. В этом примере я использовал badmin. То есть, для того чтобы отредактировать параметры загрузки надо знать не только пароль, но и имя.

После этого выполните команду для пересоздания меню загрузчика.

grub2-mkconfig -o /boot/grub2/grub.cfg

Убедитесь, что в файле /boot/grub2/grub.cfg появились параметры которые вы вписали в файл /etc/grub.d/40_custom

Теперь, если в ходе загрузки нажать клавишу e для редактирования параметров, вам будет предложено ввести ваше имя и пароль. В этом примере badmin и ваш пароль.