воскресенье, 20 мая 2012 г.

Защищаем паролем редактирование меню в загрузчике grub2

При использовании загзузчика grub/grub2 существует простой способ получить права суперпользователя в системе. Для этого в меню загрузчика нужно нажать "E" и добавить в строку с параметрами ядра опцию init=/bin/bash. После загрузить систему и сменить пароль на нужный.
Чтобы исключить возможность менять конфигурацию загрузчика вне загруженной системы нужно установить пароль на загрузчик. В этом случае загрузить систему можно будет любому, а вот поменять конфигурацию только тем, кто знает логин/пароль.
Создание пароля - процесс простой:
# grub-mkpasswd-pbkdf2 
Enter password: 
Reenter password: 
Your PBKDF2 is grub.pbkdf2.sha512.10000.2D4EE33EEE342503888D967084246F3CB9328B9A5C731439FD1AD70E3AB7637FA294942A049546CECBFBCFE8582D1F833B92B18C0F124C1003F766259DFB9BD2.86F1A8963F23E588FF3D04F104E9245858CD12BB8F0A9A8B849B61735E8300D33CD399F28A58AB696E2F7F482ABB93C65B8B79342B94C9C2A7A59DA3AF03B8D8
Полученную строку нужно добавить в скрипт из которого генерируется конфигурация grub2. Чтобы не было проблем с конфигом при обновлении пакета, я создал отдельный файл /etc/grub.d/05_password.
#!/bin/sh

set -e

cat << EOF
set superusers="root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.2D4EE33EEE342503888D967084246F3CB9328B9A5C731439FD1AD70E3AB7637FA294942A049546CECBFBCFE8582D1F833B92B18C0F124C1003F766259DFB9BD2.86F1A8963F23E588FF3D04F104E9245858CD12BB8F0A9A8B849B61735E8300D33CD399F28A58AB696E2F7F482ABB93C65B8B79342B94C9C2A7A59DA3AF03B8D8
EOF
Последний штрих - поправить права на новый файл и сгенерировать новый конфиг:
# chown root:root /etc/grub.d/05_password
# chmod 600 /etc/grub.d/05_password
# update-grub

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

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