Защитить загрузчик Ubuntu паролем
Быстрые ссылки
- Генерация хэша пароля
- Установка пароля
- Защита конкретных записей загрузки
- Применение изменений
Ubuntu по умолчанию разрешает любому редактировать записи загрузки или пользоваться командной строкой GRUB. Если настроить пароль, никто не сможет вносить изменения без вашей учётной записи — можно даже потребовать пароль перед загрузкой ОС.
GRUB 2 использует несколько конфигурационных файлов (в отличие от menu.lst в GRUB 1), поэтому настройка пароля стала более дробной. Инструкции ориентированы на GRUB 1.99 и Ubuntu 11.10; в новых версиях могут быть небольшие отличия.
Генерация хэша пароля
Откройте терминал через меню приложений Ubuntu.

Теперь сгенерируем защищённый (PBKDF2) хэш для конфигурации GRUB. Выполните команду:
grub-mkpasswd-pbkdf2
Она запросит у вас пароль и вернёт длинную строку — PBKDF2-хэш. Выделите эту строку мышью и скопируйте (правый клик → Копировать) для дальнейшего использования.

Важно: этот шаг необязателен технически — можно прописать пароль в открытом виде — но PBKDF2-хэш обеспечивает дополнительную защиту.
Установка пароля
Откройте файл 40_custom для внесения пользовательских настроек:
sudo nano /etc/grub.d/40_custom
Это место для ваших пользовательских записей — в других файлах GRUB обновления могут перезаписать изменения.

Прокрутите файл вниз и добавьте запись суперпользователя в формате:
set superusers=”имя”
password_pbkdf2 имя <ваш-длинный-строковый-хэш>
Пример (блоки ниже показаны для наглядности — замените имя и хэш на свои значения):
set superusers=”bob”
password_pbkdf2 bob grub.pbkdf2.sha512.10000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

В примере мы добавили суперпользователя «bob». Можно также добавить обычных пользователей с паролями в незашифрованном виде, но это менее безопасно.
Разница между суперпользователем и обычным пользователем:
- Суперпользователь (superuser) может редактировать записи загрузки и заходить в командную строку GRUB.
- Обычный пользователь может быть назначен только для конкретных записей загрузки (см. ниже).
Сохраните файл: Ctrl-O → Enter, затем Ctrl-X для выхода.
Важно: изменения вступят в силу только после выполнения sudo update-grub (раздел «Активация изменений»).
Защита конкретных записей загрузки паролем
Создание суперпользователя закрывает большую часть возможностей злоумышленника. По умолчанию GRUB не позволит редактировать записи или открывать командную строку без пароля.
Если нужно запретить загрузку конкретной записи без пароля (например, доступ к восстановительной записи), можно назначать пользователей для отдельных записей.
Определите, в каком скрипте генерируется нужная запись. Для Linux записи это чаще всего файл /etc/grub.d/10_linux.
Откройте список доступных скриптов так: sudo nano /etc/grub.d/ и нажмите Tab — вы увидите перечень файлов.

Откройте файл, содержащий записи (например, sudo nano /etc/grub.d/10_linux). Будьте осторожны: если вы забудете пароль или введёте некорректно, система может не загрузиться без восстановления с live-CD/USB.
В редакторе выполните поиск по слову menuentry (Ctrl-W, введите menuentry и нажмите Enter). Вы увидите строку, начинающуюся с printf.

- Замените начало строки, например:
printf “menuentry ‘${title}’”
на
printf “menuentry –users jim ‘${title}’”
Этот приём назначает доступ к данной записи пользователю jim. Суперпользователь bob по-прежнему имеет доступ.

Сохраните изменения (Ctrl-O → Enter, затем Ctrl-X).
Примечание: со временем GRUB добавит больше опций в инструмент grub-mkconfig, и многие правки можно будет делать менее вручную.
Активация изменений
Чтобы применить сделанные изменения, выполните:
sudo update-grub
Эта команда сгенерирует новый файл конфигурации GRUB на основе скриптов в /etc/grub.d и /etc/default/grub.

Если вы защитили запись по умолчанию, при следующей загрузке появится запрос логина/пароля:

Если GRUB настроен на отображение меню загрузки, без пароля вы не сможете редактировать запись или войти в командную строку.
Проверка и откат (инцидентный план)
Important: всегда имейте под рукой live-USB с Ubuntu или другим дистрибутивом, который позволит монтировать корневой раздел и править файлы GRUB, если вы потеряете доступ.
Проверка после изменений:
- Перезагрузите машину и проверьте, что при попытке редактировать запись появляется запрос пароля.
- Попробуйте загрузить защищённую запись как назначенный пользователь и как обычный пользователь.
Откат в случае проблем:
- Загрузитесь с live-USB.
- Смонтируйте корневой раздел: sudo mount /dev/sdXY /mnt (замените sdXY на ваш раздел).
- Отредактируйте /mnt/etc/grub.d/40_custom и /mnt/etc/grub.d/10_linux и удалите добавленные строки или исправьте их.
- Выполните chroot: sudo chroot /mnt && update-grub, затем перезагрузитесь.
Рекомендации по безопасности
- Используйте PBKDF2-хэш (grub-mkpasswd-pbkdf2), а не хранение пароля в открытом виде.
- Минимально необходимое: один суперпользователь для администрирования и, при необходимости, отдельные обычные пользователи для каждой группы записей.
- Храните копию оригинальных файлов /etc/grub.d/40_custom и изменённых файлов в безопасном месте.
- Тестируйте изменения в виртуальной машине, если у вас нет резервного носителя для восстановления.
Альтернативные подходы и совместимость
- Secure Boot / UEFI: В системах с UEFI/Secure Boot логика загрузки отличается. GRUB под UEFI всё ещё может использовать пароли, но порядок и файлы могут отличаться. Проверьте документацию вашего дистрибутива.
- Менеджеры загрузки других производителей (systemd-boot, rEFInd) имеют собственные механизмы защиты; миграция требует отдельной настройки.
- Аппаратные меры: шифрование диска (LUKS) и пароли BIOS/UEFI уменьшают риск несанкционированного доступа на более ранних этапах загрузки.
Когда это не подходит (контрпримеры)
- Если несколько доверенных администраторов должны иметь безпарольный доступ для отладки в полевых условиях, парольный GRUB может мешать оперативной работе.
- На серверах с автоматизированным удалённым управлением (PXE, IPMI) применение локального пароля GRUB может потребовать дополнительной настройки автоматизации.
Методология (мини-шаблон)
- Создать и проверить live-USB для восстановления.
- Сгенерировать PBKDF2-хэш: grub-mkpasswd-pbkdf2.
- Добавить суперпользователя в /etc/grub.d/40_custom.
- Назначить пользователей конкретным записям (опционально) в соответствующих скриптах (/etc/grub.d/10_linux и т.д.).
- Выполнить sudo update-grub и протестировать.
- Документировать изменения и сохранить резервные копии.
Роль‑ориентированные чек‑листы
Для системного администратора:
- Подготовлен live-USB.
- Сгенерирован PBKDF2-хэш.
- Добавлен суперпользователь в 40_custom.
- Запуск update-grub и проверка загрузки.
Для помощника/техподдержки:
- Получен список защищённых записей и пользователей с доступом.
- Инструкции по откату доступны и проверены.
Критерии приёмки
- При попытке редактирования записи GRUB без авторизации появляется запрос логина.
- Защищённая запись не загружается без ввода назначенного пароля.
- Суперпользователь может редактировать записи и заходить в командную строку GRUB.
Глоссарий (1 строка)
- GRUB: загрузчик GNU GRUB, управляющий выбором ОС при старте.
- PBKDF2: Криптографическая функция для усиления паролей (слой хеширования).
- Superuser: В контексте GRUB — пользователь с правом редактирования и доступа к командной строке.
Матрица рисков и смягчения
- Потеря пароля → Обязательный live-USB и инструкция по откату.
- Неправильная правка /etc/grub.d → Создание резервной копии перед изменениями.
- Совместимость с UEFI → Проверить схему загрузки и документацию дистрибутива.
Краткое резюме
Защита GRUB паролем — относительно простой и эффективный способ повысить безопасность локальной машины. Используйте PBKDF2-хэш, храните резервные носители для восстановления и тщательно тестируйте изменения перед применением в продакшене.
Важно: всегда имейте план восстановления и тестовую среду для экспериментов с загрузчиком.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента