Ограничение оперативного редактирования пунктов меню grub2
Есть ли способ отключить e' to edit commands before booting
вариант в меню GRUB2?
Я хочу, чтобы все пункты меню были доступны для всех пользователей (таким образом, ограничение паролем их не вариант), но ограничиваю возможность пользователей изменять указанные пункты меню.
Это возможно?
1 ответ
В Ubuntu 18.04 он начал работать после того, как я добавил
GRUB_DISABLE_SUBMENU=y
в / etc / default / grub. Итак, по сути, шаги следующие:
Сгенерируйте пароль с помощью:
grub-mkpasswd-pbkdf2
Скопируйте следующие строки в конец /etc/grub.d/40_custom и замените пароль на пароль из вывода выше. Это полностью защитит паролем grub:
set superusers="grubadm"
password_pbkdf2 grubadm grub.pbkdf2.sha512.10000.D23193A0BE80A8D94606716D2DBE18C1AC77563FD87B7DA41824467E9393EBFFAF8B909DFAD83293325016EF6DA112EBAC819B3196F2D9F764F56E037E4EB86A.78AAD14971909106B4BE80AB6BF704804E67D5486966D9A85289E5449F08BD54E55B83B28CF0A4F2B4D486F2136439B7786135B8D59C611BF9DE2CDE965DB791
Разрешить выбор загрузочных записей для разных версий ядра. редактировать
/etc/grub.d/10_linux
и
Вставить
--unrestricted
после${CLASS}
в линииecho "menuentry '$(title "$os" [...]
в функции linux_entry в/etc/grub.d/10_linux
, напримерecho "menuentry '$(echo "$title" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
Вставить
--unrestricted
после${CLASS}
в строке ´echo "menuentry '$(echo"$ os "[...]in function linux_entry in
/ etc / grub.d / 10_linux`, напримерecho "menuentry '$(echo "$os" | grub_quote)' ${CLASS} --unrestricted \$menuentry_id_option 'gnulinux-simple-$boot_device_id' {" | sed "s/^/$submenu_indentation/"
Добавьте следующую строку в / etc / default / grub
GRUB_DISABLE_SUBMENU=y
Восстановите файл конфигурации grub, выполнив
update-grub
Из вики:
Если включена какая-либо форма защиты паролем GRUB 2, имя и пароль суперпользователя необходимы для доступа к командной строке GRUB 2 и режимам редактирования меню.
Похоже, это означает, что вам нужно разрешить загрузку непривилегированным пользователям:
Меню GRUB 2 может содержать защищенные и незащищенные элементы. Формат для защиты пункта меню состоит в добавлении информации о доступе пользователя в строку заголовка меню.
Наличие --unrestricted отключает защиту паролем.