Защищаем BURG

Если у Вас несколько ОС на ноутбуке или ПК и Вы используете графический загрузчик BURG, то стоит подумать о защите, пототому что через загрузчики (GRUB или GRUB2 в том числе) сущестует возможность сброса пароля админа(суперюзера) юникс-систем...

Итак, приступим... В сети я натыкался на множество инструкций, но большая часть их сводилась к костылям в виде файла 05_password и генерацией хэшей password_pbkdf2 (те кто не в танке прекрасно поняли о чём я). Я решил найти решение, которое будет реализовано стандартными средствами самого BURG, без пременения костылей.

Для начала создадим для BURG суперюзера (он сможет редактировать меню при загрузке и т.д.)
sudo burg-adduser -s admin

Система запросит пароль и его подтвержение, вводим внимательно. Затем система зашифрует данные учётной записи и сохранит в /etc/default/burg-passwd (если что-то пойдёт не так - можно удалить ненужные учётные записи из этого файла).
Можно создать обычного пользователя (редактировать прав нет, но, при соответствующем уровне доступа, может грузить определённые ОС из списка).
sudo burg-adduser user

Далее открываем файл /etc/default/burg, ищем секцию
# Add user with burg-adduser, then use GRUB_USERS to config authentication.
# The following example means user1 can boot Ubuntu, no password is needed to
# boot Windows, user1 amd user2 can boot other OS. Superusers can boot any OS
# and use hotkeys like `c' to enter console mode.
#GRUB_USERS="*=user1,user2:ubuntu=user1:windows="

В принципе, из коментариев уже понятно как создавать правила доступа... Но на всякий случай приведу пару примеров:
1. Все имеют право загружать любую ОС, но не имеют право редактировать варианты загрузки (для 90% случаев это, то что нужно)
GRUB_USERS="*="
2. Допустим, админ имеет право для загрузки linux- и windows-систем, а юзер может грузить только windows (иногда и такое нужно).
GRUB_USERS="ubuntu=admin:windows=admin,user"
Разделителем правил выступает двоеточие. В этом примере всё как я и написал: админ имеет право для загрузки linux- и windows-систем, а юзер может грузить только windows, но даже админ не имеет доступа к режиму восстановления linux (как раз через через него и можно сбросить пароль суперадмина).
3. Теперь ситуация, когда админ и юзер могут грузить linux, но админ будет иметь доступ к загрузке в режиме восстановления.
GRUB_USERS="*ubuntu=admin:ubuntu=user"

После всех манипуляций с учётками не забываем пересобирать конфигурационный файл BURG:
sudo update-burg

Ничего сложного нет. Ubuntu и Windows в правилах - это названия классов ОС в BURG, если вникните - научитесь составлять необходимые Вам правила.


Оригинал статьи