25.2. Настройка загрузчика GRUB2

25.2. Настройка загрузчика GRUB2

Как уже отмечалось, начиная с версии 9.10, в Ubuntu используется загрузчик GRUB2 вместо обычного GRUB. По сравнению с GRUB, новый загрузчик одновременно и проще в обращении, и сложнее в настройке. Настраивать GRUB2 придется реже, но к его сложной настройке надо будет привыкать, — практически все современные дистрибутивы перешли на GRUB2.

В GRUB можно было задать общий пароль для всех загрузочных меток, а также установить пароль только на некоторые загрузочные метки. В GRUB2 можно сделать то же самое, но, кроме самого пароля, понадобится указать еще и имя пользователя, что усложняет злоумышленнику взлом системы, поскольку ему нужно будет знать не только пароль, но и имя пользователя. Защита отдельных загрузочных меток, как правило, используется редко, чаще устанавливается пароль на все метки сразу, что и будет продемонстрировано в этой главе.

Сначала установим простой (незашифрованный) пароль, а затем зашифруем его, чтобы никто не смог его прочитать, загрузившись с LiveCD. Прежде всего откройте файл /etc/grub.d/00_header:

sudo nano /etc/grub.d/00_header

В конец файла добавьте строки:

cat << EOF

set superusers="den"

password den 1234

EOF

Здесь имя пользователя den, пароль — 1234.

Теперь обновите GRUB2:

sudo update-grub

Можно также напрямую редактировать файл конфигурации GRUB2 — grub.cfg. В него следует добавить вот такие строки:

set superusers="user1"

password userl passwordl

password user2 password2

Обратите внимание, что командами password заданы два пользователя: user1 и user2 с паролями password1 и password2 соответственно. Но пользователь user1 является суперпользователем, то есть может редактировать загрузочные метки GRUB2, а обычный пользователь (user2) может только загружать метки. Таким образом, у пользователя user1 получится передать ядру новые параметры, а пользователь user2 сможет только загрузить Linux с параметрами по умолчанию.

Можно даже задать условие, что метку Windows будет загружать только пользователь user2:

menuentry "Windows" — users user2 {

set root=(hd0,2)

chainloader +1

}

Теперь разберемся с шифрованием пароля. Команда password поддерживает только незашифрованные пароли. Если вы хотите использовать зашифрованные пароли, то нужно применить команду password_pbkdf2. Например:

password_pbkdf2 den зашифрованный_пароль

Получить зашифрованный пароль можно командой:

grub-mkpasswd-pbkdf2

После программа запросит у вас пароль и сообщит его хэш:

Your PBKDF2 is grub.pbkdf2.зашифрованный_пароль

Пример пароля:

grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5642659211B7FC076F 2D28FEFD71784BB8D8F6FB244A8CC5C06240631B97008565A120764C0EE9C2CB0073994D7 9080136.887CFF169EA8335235D8004242AA7D6187A41E3187DF0CE14E256D85ED97A9735 7AAA8FF0A3871AB9EEFF458392F462F495487387F685B7472FC6C29E293F0A0

Весь этот хэш нужно скопировать в конфигурационный файл GRUB2:

password_pbkdf2 den

grub.pbkdf2.sha512.10000.9290F727ED06C38BA4549EF7DE25CF5642659211B7FC076F 2D28FEFD71784BB8D8F6FB244A8CC5C06240631B97008565A120764C0EE9C2CB0073994D7 9080136.887CFF169EA8335235D8004242AA7D6187A41E3187DF0CE14E256D85ED97A9735 7AAA8FF0A3871AB9EEFF458392F462F495487387F685B7472FC6C29E293F0A0

Если вы не использовали файл 00_header, а редактировали непосредственно файл grub.cfg, то команду update-grub вводить не нужно!

Дополнительную информацию вы сможете получить по адресам: http://ubuntuguide.net/how-to-setup-boot-password-for-grub2-entries и http://grub.enbug.org/Authentication.

Данный текст является ознакомительным фрагментом.