В этой статье я опишу метод защиты вашего загрузчика GRUB2 на Debian подобных дистрибутивах. В качестве подопытного буду использовать Lubuntu 18.04 LTS.
Создаем пароль для GRUB2
Для начала давайте создадим зашифрованный пароль. Для этого будем использовать приведенную ниже команду:
sudo grub-mkpasswd-pbkdf2
Пример вывода:
Введите пароль:
Повторно введите пароль:
Хэш PBKDF2 вашего пароля: grub.pbkdf2.sha512.10000.3B9AEC3327436741332ED29B7C5213769842127F94E5031FD63F35CD921CEAB3A7078A5F45F51C6C4C30095958C2ADEB9EBC6193DF9CC9531CAA725A9E185AF0.D805559D1ABDD2C8E4C1791820E126E862B7122330A0789B75242755A967EE58F3A2BF5AF599B72984CA8A398BCAFB4EBBFBB52135811E5DDF851DFD427A9A52
Этой командой мы зашифровали пароль для защиты загрузчика Grub2.
Настройка защиты для GRUB2
Как вы уже знаете, не рекомендуется редактировать и вставлять только что сгенерированный пароль непосредственно в главный конфигурационный файл grub2. Вместо этого мы должны добавить пароль в пользовательский файл меню Grub2, который находится в каталоге /etc/grub.d/
, и, наконец, обновить главный конфигурационный файл Grub2, то есть /etc/grub.cfg
.
Создадим копию пользовательского файла меню Grub2:
sudo cp /etc/grub.d/40_custom /etc/grub.d/40_custom.save
Редактируем конфигурационный файл Grub2
Затем отредактируйте конфигурационный файл Grub2:
sudo nano /etc/grub.d/40_custom
Добавьте следующие строки. Убедитесь, что вы вставили правильный пароль, который мы создали ранее.
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.3B9AEC3327436741332ED29B7C5213769842127F94E5031FD63F35CD921CEAB3A7078A5F45F51C6C4C30095958C2ADEB9EBC6193DF9CC9531CAA725A9E185AF0.D805559D1ABDD2C8E4C1791820E126E862B7122330A0789B75242755A967EE58F3A2BF5AF599B72984CA8A398BCAFB4EBBFBB52135811E5DDF851DFD427A9A52
Обновляем конфигурационный файл Grub2
Теперь пришло время обновить главный конфигурационный файл Grub2 командой:
grub-mkconfig -o /boot/grub/grub.cfg
Пример вывода:
Генерируется файл настройки grub …
Предупреждение: Назначение GRUB_TIMEOUT ненулевого значения при заданной GRUB_HIDDEN_TIMEOUT больше не поддерживается.
Найден образ linux: /boot/vmlinuz-4.15.0-20-generic
Найден образ initrd: /boot/initrd.img-4.15.0-20-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
завершено
Можно также проверить правильность установки пароля в файле /etc/grub2.cfg
.
sudo cat /boot/grub/grub.cfg
Все настроено. Перезагрузите свою систему, чтобы проверить, защищен ли загрузчик.
После перезагрузки системы попробуйте отредактировать загрузчик Grub2. Для этого нажмите e
при загрузки системы.
Вам будет предложено ввести имя пользователя и пароль, которые мы задали на предыдущем шаге.
Если вы введете правильное имя пользователя и пароль, то сможете редактировать загрузчик Grub2.
Теперь вы знаете, как защитить паролем загрузчик Grub2 в Debian подобных системах. Эти знания добавят дополнительный уровень безопасности вашей операционной системе Linux.