Спочатку попередження ...
Процедура захисту паролем grub2 може бути досить складною, і якщо ви помилитесь, є можливість залишити себе системою, що не завантажується. Таким чином, завжди спершу зробіть резервну копію зображення вашого жорсткого диска. Моя рекомендація - використовувати Clonezilla - ще один інструмент резервного копіювання, такий як PartImage .
Якщо ви хочете практикувати це - використовуйте гість віртуальної машини, на якому ви зможете відкатати знімок.
Давайте почнемо
Наведена нижче процедура захищає від несанкціонованого редагування налаштувань Grub під час завантаження - тобто натискання eдля редагування дозволяє змінювати параметри завантаження. Наприклад, ви можете змусити завантажуватися в режимі одного користувача і таким чином мати доступ до вашого жорсткого диска.
Цю процедуру слід використовувати в поєднанні з шифруванням на жорсткому диску та захищеним варіантом завантаження bios, щоб запобігти завантаженню з живого 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 і відновлення
Далі - поверніться до терміналу (не закривайте 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 (легкі та новіші)
Збережіть і закрийте файл.
Нарешті, вам потрібно захистити паролем кожен запис меню меню (всі файли, у яких є рядок, що починається з меню )
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
Це додасть новий запис --users myusername
до кожного рядка.
Запустіть update-grub, щоб відновити ваш grub
sudo update-grub
При спробі змінити запис потайний запросить ваше ім'я користувача , тобто MyUserName і пароль , який ви використовували.
Перезавантажте та перевіріть, чи застосовуються ім’я користувача та пароль при редагуванні всіх записів grub.
Зверніть увагу: натисніть SHIFTпід час завантаження, щоб відобразити свою грубку.
Режим відновлення, захищаючи паролем
Все вищезазначене можна легко вирішити, використовуючи режим відновлення.
На щастя, ви також можете змусити ім'я користувача та пароль використовувати запис меню в режимі відновлення. У першій частині цієї відповіді ми створюємо додаткове ім'я користувача, яке називається відновленням з паролем 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