Защищаем Grub паролем

Недавно понадобилось на машине с двойной загрузкой (Windows 7 и Mandriva Linux 2010) установить пароль на загрузку ОС чтобы те, кому не надо, не могли загрузить Linux.

В результате гугления была найдена кое-какая информация по этому вопросу, и вот как это решается.

Установка пароля на пункт меню

1. Получаем md5-хеш устанавливаемого пароля. Для этого запускаем grub и вызываем команду md5crypt:
[lxx@thishost ~]$ sudo grub
Probing devices to guess BIOS drives. This may take a long time.
grub> md5crypt
Password: ***
Encrypted: $1$pl7xT/$5LJDmIYffQHCesqIZ7J6Y0

2. Вставляем полученный хеш к параметрам интересующего пункта меню:
title Linux
password --md5 $1$pl7xT/$5LJDmIYffQHCesqIZ7J6Y0
kernel (hd0,1)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=3c3e3002-7852-4189-a529-f8de9fa8a2f9 resume=UUID=72da052a-cf1b-497f-9232-fad3ef46cfd1 splash=silent vga=788
initrd (hd0,1)/boot/initrd.img

3. Пытаемся выбрать этот пункт... И получаем запрос пароля. Для ввода пароля нужно нажать p.

Установка пароля на правку меню

1. Аналогично предыдущему пункту получаем хеш пароля.
2. В начало файла menu.lst, сразу после директивы timeout, вставляем
password --md5 $1$pl7xT/$5LJDmIYffQHCesqIZ7J6Y0
Теперь пункты меню можно будет отредактировать только после ввода пароля (клавиша p).

Скрытие пунктов меню

Всё вышеописанное, конечно хорошо, но можно сделать и еще лучше: полностью скрыть некоторые пункты меню и выводить их только после ввода пароля.
1. Аналогично предыдущему пункту получаем хеш пароля.
2. 2. В начало файла menu.lst, сразу после директивы timeout, вставляем
password --md5 $1$pl7xT/$5LJDmIYffQHCesqIZ7J6Y0 /boot/grub/menu_hidden.lst
Здесь /boot/grub/menu_hidden.lst — путь к файлу меню, которое будет отображаться после ввода пароля.

Поблагодарить автора

One Response to Защищаем Grub паролем

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

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>