Grub2: Установка пароля в версии 2.02 ~ beta2-9ubuntu1

Я использую ubuntu 14.04, а версия Grub - 2.02~beta2-9ubuntu1. Я пытался это в течение длительного времени. Я видел этот вопрос , но так не получилось. В любом случае, у меня есть решение, но я не уверен, что оно правильное или имеет риски безопасности . Пожалуйста, предложите.

Я хотел настроить GRUB так, чтобы: -

  1. Аутентификация необходима для редактирования меню grub или входа в режим восстановления.
  2. Аутентификация не требуется для загрузки ОС

Я следовал за Документами Ubuntu , а также многими другими блогами, но все они основаны на более старых версиях GRUB2. чем 2.02~beta2-9ubuntu1, поэтому скрипт grub не может быть отредактирован в соответствии с рекомендациями документа. Следуя документации, я пытался редактировать пункты меню, но каждый раз возникала проблема: Authentication was needed to boot the OS too.

5
задан 13 April 2017 в 15:24

1 ответ

Взятие помогает от вопрос и Документы Ubuntu , мне удалось получить то, что я хотел, но предложите, если я корректен, если мои конфигурации действительно безопасны. Главным образом это, когда новое ядро установлено, конфигурация GRUB, должно будет также быть отредактировано или нет.

1. Создайте хешированный пароль

grub-mkpasswd-pbkdf2

, Дают Ваш пароль, и Вы получите хеш.

2. Создайте Аутентификацию GRUB

В Файле/etc/grub.d/40_custom, добавляют эти записи в конце, где

set superusers="user1" 
password_pbkdf2 user1 GIVE-GRUB-PASSWORD-HASH-HERE
export superusers

замена GIVE-GRUB-PASSWORD-HASH-HERE с хешем пароля, полученного как вывод grub-mkpasswd-pbkdf2.

3. Подайте заявку Аутентификация к menuentries в файле/etc/grub.d/10_linux

Добавляют --users '' к следующим строкам, таким образом, что Вы have:-

echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --users '' \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

и

echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' --users ''  \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"

Добавляете --unrestricted к следующей строке, таким образом что Вы have:-

echo "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

4. Личинка обновления

sudo update-grub

Редактирование

5. Система перезагрузки

Забыла добавлять это ранее; Вам нужна перезагрузка система после этого.

sudo reboot
5
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: