В 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
Обратите внимание, что командами
Можно даже задать условие, что метку Windows будет загружать только пользователь
menuentry "Windows" — users user2 {
set root=(hd0,2)
chainloader +1
}
Теперь разберемся с шифрованием пароля. Команда password поддерживает только незашифрованные пароли. Если вы хотите использовать зашифрованные пароли, то нужно применить команду
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, то команду
Дополнительную информацию вы сможете получить по адресам:и http://grub.enbug.org/Authentication.
25.3. Отключение истории команд
Отключить ведение истории команд очень просто. Для этого введите три команды:
rm — f $HOME/.bash_history
touch $HOME/.bash_history
chmod 000 $HOME/.bash_history
После этого никто не сможет просмотреть, какие команды вы вводили.
25.4. Отключение комбинации клавиш Ctrl+Alt+Del
Предположим, у вас есть сервер. К нему подошел «хакер». Он прекрасно знает, что проникнуть в ваш безопасный сервер он не сможет. Там и пароли сложные, и пароль на BIOS стоит. В общем, не пробраться. Как же вывести сервер из строя? Можно, конечно стукнуть по нему молотком, но факт физического повреждения будет налицо, поэтому данный вариант не проходит. Вариант с отключением питания (или источника бесперебойного питания) отпадает по той же причине — уж больно он явный.