В этой статье мы рассмотрим, как защитить конфигурацию загрузчика Linux с помощью пароля.
Сгенерируйте хэш пароля с помощью утилиты grub-mkpasswd-pbkdf (в Ubuntu она установлена по умолчанию):
$ grub-mkpasswd-pbkdf2
Введите пароль и подтверждение и скопируйте полученных хэш (начинается с grub.pbkdf2.sha512…)
Отредактируйте конфигурационный файл загрузчика grub:
$ sudo nano /etc/grub.d/00_header
Добавьте в конец файл строки:
cat << EOF set superusers=user_name password_pbkdf2 user_name хэш-пароль EOF
Обновите конфигурацию загрузчика:
$ sudo update-grub
Перезагрузите Linux:
$ reboot
Теперь при старте Grub появится строка, в которой нужно ввести имя пользователя и пароль. Без ввода этих данных загрузка Linux не начнется.
Т.к. файл /etc/grub.d/00_header содержит хеш пароля, поэтому рекомендуется запретить его чтение и изменения всеми, кроме пользователя root:
$ sudo chmod 711 /etc/grub.d/00_header
В этом режиме пароль будет запрашиватьсяпри каждой загрузке Linux. Если вы хотите только защитить конфигурацию загрузчика от изменений, отредактируйте файл /etc/grub.d/10_linux:
$ sudo nano /etc/grub.d/10_linux
Найдите строку:
CLASS="--class gnu-linux --class gnu --class os"
Добавьте в нее опцию —unrestricted:
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
Сохраните файл, обновите конфигурацию Grub:
$ sudo update-grub