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

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

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

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

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

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

1
grub-mkpasswd-pbkdf2

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

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

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

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

1
sudo apt-get update

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

1
sudo apt install -y grub-common

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

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

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

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

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

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

1
sudo nano /etc/grub.d/00_header

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

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

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

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

1
sudo update-grub

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

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

1
reboot

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

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

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

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

1
sudo nano /etc/grub.d/10_linux

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

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

Например:

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

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

1
sudo update-grub

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

Выводы

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

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