Для защиты обычного компьютера или сервера с установленным на нем дистрибутивом Linux имеет смысл поставить пароль на доступ к загрузчику GRUB. Делается это путем создания отдельного пользователя для него.
В статье мы пошагово расскажем, как поставить пароль на GRUB. Заодно осветим сопутствующие нюансы процедуры и возможные проблемы при ее выполнении.
Как поставить пароль на GRUB
Всю задачу можно разделить на три больших шага. Сначала идет генерация хэша пароля, следом нужно задать его путем изменения настроек, а в конце – обновить конфигурацию GRUB. Заодно мы расскажем, как включить загрузку системы без пароля, и проверим, все ли работает правильно.
1. Сгенерировать хэш пароля
За данное действие отвечает утилита grub-mkpasswd-pbkdf2
. В случае с дистрибутивом Ubuntu она по умолчанию установлена в систему. Для генерации хэша пароля достаточно выполнить команду в терминале:
grub-mkpasswd-pbkdf2
А затем два раза ввести будущий пароль для GRUB.
Полученный хэш – это длинная строка, которая начинается с grub.pbkdf2
. Ее нужно скопировать и куда-нибудь сохранить, например, в отдельный документ.
При выполнении команды может возникнуть ошибка.
Она говорит о том, что в системе отсутствует пакет grub-common. А значит, его нужно загрузить вручную. Для этого обновите данные о приложениях:
sudo apt-get update
Сразу же после запустите установку недостающего пакета:
sudo apt install -y grub-common
Остается только сгенерировать хэш пароля способом, который описан в начале раздела. А мы переходим к следующему шагу.
2. Изменить настройки
Теперь нужно назначить супер-пользователя для GRUB. Это удобно делать через файл /etc/grub.d/00_header
, отредактировав его содержимое. Удобнее сначала открыть текстовый документ, куда все было сохранено, и вставить команду следующего вида:
cat << EOF
set superusers="user_name"
password_pbkdf2 user_name grub.pbkdf2.sha512.10000.680B7A2E02752A0A5957C6CF21F3A34EDC63CE4488298FE1CE7F27F50FE9E4BA043E84E1FE4EC183A75A52672F6D38383244DEF7784A3ACA30E2B6326ECCB557.53AA79A88B945E9120DBD40E8E6E0E5131982B8D8E0EF0CC93240D80D792074E5575ABB66B822EAC37367311CE0088EE408FB1AC74FDF563CBB9D6B8F2F6C146
EOF
Вместо user_name
во второй и третьей строке укажите предпочтительное имя супер-пользователя GRUB, а также замените хэш пароля (начиная с grub.pbkdf2
) на свой. Полученный текстовый документ просто сверните, но не закрывайте.
Теперь перейдем к редактированию файла 00_header
. В терминале выполните:
sudo nano /etc/grub.d/00_header
Затем пролистайте его содержимое до самого конца. Это очень удобно делать с зажатой клавишей Page Down
на клавиатуре. А потом на новой строке вставьте ранее подготовленную команду из 4 строк, которая сохранена в текстовом документе.
Для сохранения изменений нажмите комбинацию клавиш Ctrl+S
, а затем Ctrl+X
для выхода из режима редактирования файла 00_header
.
3. Обновить конфигурацию
Следующий шаг – обновление конфигурации GRUB для применения ранее внесенных изменений. За это действие отвечает команда в терминале:
sudo update-grub
4. Проверить работу
Чтобы проверить работу пароля, нужно перезагрузить компьютер, например, командой:
reboot
Как только появится интерфейс GRUB, у вас запросят сначала имя супер-пользователя, а затем и пароль.
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. В данной статье мы в пошаговом формате описали всю процедуру настройки.
Это поможет сделать вашу систему более безопасной, ведь обычный пароль суперпользователя очень легко сбросить.