Главная >> Инструкции >> Как поставить пароль на 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? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (8 оценок, среднее: 4,88 из 5)
Загрузка...
Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

4 комментария к “Как поставить пароль на 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
      и перезагружаемся.

      Ответить

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

×

Сообщить об ошибке или улучшить статью

Здесь вы можете внести исправления:

Комментарий:

×