Если не предпринять никаких мер по защите grub, то любой пользователь, перезагрузив машину, может получить полный доступ к системе безо всякой авторизации. В статье "сброс пароля пользователя" я использовал именно метод незащищенного grub.
Если вы серьезно относитесь к безопасности ваших данных, то необходимо предпринять некоторые шаги.
Есть два метода: первый быстрый и легкий, а второй чуть длиннее и на аккуратность.
Итак, первый метод использовать программу StartUp Manager. Надо всего лишь перейти на вкладку Security, выставить "галочки" на "Password protect bootloader", "Password protect rescue mode" и задать сам пароль.
Второй метод - это правка файла меню загрузчика grub. Для этого откроем следующий файл:
gksudo gedit /boot/grub/menu.lst
Я использовал для опыта Ubuntu Hardy Alpha 4 на VirtualBox, но все нижеописанные действия подойдут для всех выпущенных на данный момент дистрибутивов Ubuntu Linux.
Ищем следующие строки:
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
Теперь открываем консоль и набираем:
grub
дальше набираем:
md5crypt
Вводим пароль и получаем md5-хеш пароля.
[ Minimal BASH-like line editing is supported. For
the first word, TAB lists possible command
completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> md5crypt
Password: ***
Encrypted: $1$t.IAS$SnCwRe6dEzbONBorjSo8D1
Полученный хеш копируем в буфер и приводим строчки menu.lst к виду (не забыв вставить полученный хеш):
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
password --md5 $1$t.IAS$SnCwRe6dEzbONBorjSo8D1
# password topsecret
Этим действием мы запретили редактировать параметры запуска ядра. Однако остался еще вариант с загрузкой в режиме восстановления. Для защиты и от этого надо просто добавить опцию lock в нужный пункт меню grub. Например:
title Ubuntu hardy (development branch), kernel 2.6.24-5-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-5-generic root=UUID=9b09ea66-5a91-43d9-aeaa-24781a3f8374 ro quiet splash locale=uk_UA
initrd /boot/initrd.img-2.6.24-5-generic
quiet
title Ubuntu hardy (development branch), kernel 2.6.24-5-generic (recovery mode)
root (hd0,0)
lock
kernel /boot/vmlinuz-2.6.24-5-generic root=UUID=9b09ea66-5a91-43d9-aeaa-24781a3f8374 ro single
initrd /boot/initrd.img-2.6.24-5-generic
title Ubuntu hardy (development branch), memtest86+
root (hd0,0)
kernel /boot/memtest86+.bin
quiet
Сохраняем файл и перезагружаем компьютер для тестирования результата. Если вы все сделали правильно, то загрузка пункта меню по умолчанию будет проходить без пароля. Если будет нужно поменять параметры загрузки, то надо будет ввести пароль. На рисунке ниже видно результат неправильного ввода пароля.
При выборе загрузки режима восстановления без указания пароля получим такой результат:
Для большей безопасности можно ограничить права доступа к файлу меню:
sudo chmod 600 /boot/grub/menu.lst*
На этом защиту grub можно считать завершенной. Хотя ничего не мешает загрузиться с LiveCD и получить доступ к файловой системе. И наконец снять винчестер и подключить к другому компьютеру. Но это уже другая история и отношения к grub не имеет.
Комментариев нет:
Отправить комментарий