Я использую ubuntu 14.04
, а версия Grub - 2.02~beta2-9ubuntu1
. Я пытался это в течение длительного времени. Я видел этот вопрос , но так не получилось. В любом случае, у меня есть решение, но я не уверен, что оно правильное или имеет риски безопасности . Пожалуйста, предложите.
Я хотел настроить GRUB так, чтобы: -
Я следовал за Документами Ubuntu , а также многими другими блогами, но все они основаны на более старых версиях GRUB2. чем 2.02~beta2-9ubuntu1
, поэтому скрипт grub не может быть отредактирован в соответствии с рекомендациями документа. Следуя документации, я пытался редактировать пункты меню, но каждый раз возникала проблема: Authentication was needed to boot the OS too
.
Взятие помогает от вопрос и Документы 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