Сначала предупреждение ...
Процедура защиты паролем grub2 может быть довольно сложной, и если вы ошибетесь, есть возможность оставить себя с не загружаемой системой. Поэтому всегда сначала делайте полную резервную копию вашего жесткого диска. Я рекомендую использовать Clonezilla - также можно использовать другой инструмент резервного копирования, например PartImage .
Если вы хотите попрактиковаться в этом - используйте гостевую виртуальную машину, с которой вы можете откатить снимок.
Давайте начнем
Описанная ниже процедура защищает от несанкционированного изменения настроек Grub во время загрузки - то есть, нажав eна редактирование позволяет изменять параметры загрузки. Например, вы можете принудительно загрузить систему в однопользовательском режиме и получить доступ к своему жесткому диску.
Эту процедуру следует использовать в сочетании с шифрованием жесткого диска и опцией безопасной загрузки BIOS, чтобы предотвратить загрузку с live cd, как описано в соответствующем ответе на этот вопрос.
почти все нижеприведенное можно скопировать и вставить по одной строке за раз.
Сначала давайте сделаем резервную копию файлов grub, которые мы будем редактировать - откройте сеанс терминала:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
Давайте создадим имя пользователя для grub:
gksudo gedit /etc/grub.d/00_header &
Прокрутите вниз, добавьте новую пустую строку, скопируйте и вставьте следующее:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
В этом примере были созданы два имени пользователя: myusername и recovery
Далее - вернуться к терминалу (не закрывать gedit
):
Только пользователи Natty и Oneiric
Создайте зашифрованный пароль, набрав
grub-mkpasswd-pbkdf2
Введите свой пароль, который вы будете использовать дважды при запросе
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
Немного нас интересует начало grub.pbkdf2...
и конецBBE2646
Выделите этот раздел с помощью мыши, щелкните правой кнопкой мыши и скопируйте это.
Вернитесь к своему gedit
приложению - выделите текст «xxxx» и замените его тем, что вы скопировали (щелкните правой кнопкой мыши и вставьте)
то есть линия должна выглядеть
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
все версии Buntu (Lucid и выше)
Сохраните и закройте файл.
Наконец, вам нужно защитить паролем каждый пункт меню grub (все файлы, в которых есть строка, начинающаяся с входа в меню ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Это добавит новую запись --users myusername
в каждую строку.
Запустите update-grub, чтобы восстановить ваш grub.
sudo update-grub
Когда вы пытаетесь отредактировать запись grub, она запросит ваше имя пользователя, т.е. myusername и пароль, который вы использовали.
Перезагрузите и проверьте, что имя пользователя и пароль применяются при редактировании всех записей grub.
NB не забудьте нажать SHIFTво время загрузки, чтобы отобразить ваш grub.
Защита паролем в режиме восстановления
Все вышеперечисленное можно легко обойти, используя режим восстановления.
К счастью, вы также можете заставить имя пользователя и пароль использовать пункт меню режима восстановления. В первой части этого ответа мы создаем дополнительное имя пользователя с именем recovery с паролем 1234 . Чтобы использовать это имя пользователя, нам нужно отредактировать следующий файл:
gksudo gedit /etc/grub.d/10_linux
изменить строку с:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
Для того, чтобы:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
При использовании восстановления используйте имя пользователя восстановления и пароль 1234
Запустите, sudo update-grub
чтобы восстановить ваш файл Grub
Перезагрузитесь и проверьте, что вас просят ввести имя пользователя и пароль при попытке загрузки в режиме восстановления.
Дополнительная информация - http://ubuntuforums.org/showthread.php?t=1369019