Применимость: 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 и ваш пароль.