Главная >> Инструкции >> Как поставить пароль на Grub

Как поставить пароль на Grub

Для защиты обычного компьютера или сервера с установленным на нем дистрибутивом Linux имеет смысл поставить пароль на доступ к загрузчику GRUB. Делается это путем создания отдельного пользователя для него.

В статье мы пошагово расскажем, как поставить пароль на GRUB. Заодно осветим сопутствующие нюансы процедуры и возможные проблемы при ее выполнении.


Содержание статьи

Как поставить пароль на GRUB

Всю задачу можно разделить на три больших шага. Сначала идет генерация хэша пароля, следом нужно задать его путем изменения настроек, а в конце – обновить конфигурацию GRUB. Заодно мы расскажем, как включить загрузку системы без пароля, и проверим, все ли работает правильно.

1. Сгенерировать хэш пароля

За данное действие отвечает утилита grub-mkpasswd-pbkdf2. В случае с дистрибутивом Ubuntu она по умолчанию установлена в систему. Для генерации хэша пароля достаточно выполнить команду в терминале:

grub-mkpasswd-pbkdf2

А затем два раза ввести будущий пароль для GRUB. Результат выглядит так:

vuwi+hRk0+gAAAAASUVORK5CYII=

Полученный хэш – это длинная строка, которая начинается с grub.pbkdf2. Ее нужно скопировать и куда-нибудь сохранить, например, в отдельный документ.

wN7FeRwdyVvGwAAAABJRU5ErkJggg==

При выполнении команды может возникнуть ошибка:

wc8xKeGSfHk6AAAAABJRU5ErkJggg==

Она говорит о том, что в системе отсутствует пакет grub-common. А значит, его нужно загрузить вручную. Для этого обновите данные о приложениях:

sudo apt-get update

dxD83VS3lr6lcRrU1ikMNBWY9yNyHoSf2PSTjxt2skFzpX9jLGutbFlPevkWruvvXcKD3c8qgAB2DfNn6JiFhT744QCYwnz74fcn34DW+UlU+KC+J0AAAAASUVORK5CYII=

Сразу же после запустите установку недостающего пакета:

sudo apt install -y grub-common

8HuUbzpfOakaEAAAAASUVORK5CYII=

Остается только сгенерировать хэш пароля способом, который описан в начале раздела. А мы переходим к следующему шагу.

2. Изменить настройки

Теперь нужно назначить супер-пользователя для GRUB. Это удобно делать через файл /etc/grub.d/00_header, отредактировав его содержимое. Удобнее сначала открыть текстовый документ, куда все было сохранено, и вставить команду следующего вида:

cat << EOF
set superusers="user_name"
password_pbkdf2 user_name grub.pbkdf2.sha512.10000.680B7A2E02752A0A5957C6CF21F3A34EDC63CE4488298FE1CE7F27F50FE9E4BA043E84E1FE4EC183A75A52672F6D38383244DEF7784A3ACA30E2B6326ECCB557.53AA79A88B945E9120DBD40E8E6E0E5131982B8D8E0EF0CC93240D80D792074E5575ABB66B822EAC37367311CE0088EE408FB1AC74FDF563CBB9D6B8F2F6C146
EOF

A+7nxKn1TpnrAAAAAElFTkSuQmCC

Вместо user_name во второй и третьей строке укажите предпочтительное имя супер-пользователя GRUB, а также замените хэш пароля (начиная с grub.pbkdf2) на свой. Полученный текстовый документ просто сверните, но не закрывайте.

Теперь перейдем к редактированию файла 00_header. В терминале выполните:

sudo nano /etc/grub.d/00_header

H1JGPPeZFILYAAAAAElFTkSuQmCC

Затем пролистайте его содержимое до самого конца. Это очень удобно делать с зажатой клавишей Page Down на клавиатуре. А потом на новой строке вставьте ранее подготовленную команду из 4 строк, которая сохранена в текстовом документе.

T6fwFCovF2Hpo7UwAAAABJRU5ErkJggg==

Для сохранения изменений нажмите комбинацию клавиш Ctrl+S, а затем Ctrl+X для выхода из режима редактирования файла 00_header.

3. Обновить конфигурацию

Следующий шаг – обновление конфигурации GRUB для применения ранее внесенных изменений. За это действие отвечает команда в терминале:

sudo update-grub

AzJwzYIgRfbIAAAAAElFTkSuQmCC

4. Проверить работу

Чтобы проверить работу пароля, нужно перезагрузить компьютер, например, командой:

reboot

Как только появится интерфейс GRUB, у вас запросят сначала имя супер-пользователя, а затем и пароль.

QVP4Db9RINOpwAAAABJRU5ErkJggg==

5. Разрешить загрузку без пароля

Описанный способ имеет один важный недостаток – пароль будет требоваться каждый раз при входе в GRUB. Даже для простой загрузки системы. Но конфигурацию можно настроить таким образом, чтобы пароль был нужен только для редактирования каких-либо параметров загрузчика. А вход в меню будет неограниченным.

Для этого понадобится отредактировать файл /etc/grub.d/10_linux:

sudo nano /etc/grub.d/10_linux

В этом файле найдите вот такую сточку и добавьте в неё опцию --unrestricted:

CLASS="--class gnu-linux --class gnu --class os"

Например:

CLASS="--class gnu-linux --class gnu --class os --unrestricted"

Теперь сохраните внесенные изменения горячими клавишами Ctrl+S. Остается только обновить конфигурацию GRUB в терминале:

sudo update-grub

В результате при включении или перезагрузке ПК пароль вводить не придется. Но для доступа к дополнительным параметрам GRUB он потребуется.

Выводы

Установка защиты в виде пароля для GRUB во многих ситуациях будет очень полезной. Ведь злоумышленники, добравшись до интерфейса загрузчика, могут серьезно нарушить работу компьютера с Linux. В данной статье мы в пошаговом формате описали всю процедуру настройки.

Это поможет сделать вашу систему более безопасной, ведь обычный пароль суперпользователя очень легко сбросить. А вы ставите пароль на Grub? Напишите в комментариях!

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

6 комментариев к “Как поставить пароль на Grub”

  1. https://youtu.be/0tgBJ6xwCzo
    А если, как здесь, установил на SSD пароль на диск, получается он ещё до грю идёт. Значит сам грю тоже ведь зашифрован и отдельно на него не 6адо ставить пароль?)
    Просто фишка в том,что ещё есть параллельная система, но на HDD, и там нет пароля ни на грю, ни на диск. Основная для меня- это именно на SSD, на HDD как бы по запас.

    Ответить
  2. ******! Поставил пароль, теперь не могу зайти в систему, пишет что доступ запрещён. Хотя я точно помню и пароль и имя пользователя. Хеш пароля сохранил на флешку. Что делать?

    Ответить
    • Записать образ ubuntu на флещку или диск, загрузиться с него в терминал.
      Смонтировать свой диск (например это /dev/sda3/ в /mnt): sudo mount /dev/sda3 /mnt
      Если был отдельный /boot раздел (например sda2), монтируем его: sudo mount /dev/sda2 /mnt/boot
      Далее привязываем каталоги:
      sudo mount --bind /dev /mnt/dev
      sudo mount --bind /sys /mnt/sys
      sudo mount --bind /proc /mnt/proc
      Создаем окружение:
      sudo chroot /mnt
      Потом стандартно:
      правим /etc/grub.d/00_header (удаляем, что добавляли).
      выполняем update-grub или grub-mkconfig -o /boot/grub/grub.cfg
      Далее размонтируем все, что примонтировали:
      sudo umount /dev/sda3
      sudo umount /dev/sda2
      sudo umount /mnt/dev
      sudo umount /mnt/sys
      sudo umount /mnt/proc
      и перезагружаемся.

      Ответить

Оставьте комментарий