Избегать запроса пароля Grub2 при каждой загрузке?

Вопрос или проблема

Я установил пароль Grub2, следуя этой теме. Он работает хорошо, но теперь каждый раз, когда я включаю или перезагружаю компьютер, он требует имя пользователя и пароль. Это фактически первое, что он делает.

Теперь, если файлы конфигурации Grub по какой-то причине повредятся, я практически лишен доступа к чему-либо. Я хочу иметь возможность получить доступ к рабочему столу и редактировать конфигурационные файлы без блокировки Grub, если что-то пойдет не так, но при этом иметь сообщение запроса пароля при нажатии клавиши shift для доступа к меню Grub.

Вот как выглядит мой файл 40_custom:

#!/bin/sh
exec tail -n +3 $0
set superusers="xxx"
password_pbkdf2 xxx hashed_password

Я также посмотрел в этой теме, где подобный вопрос был задан и решен, но метод был немного другим и касался более старых версий Ubuntu. Я бы с удовольствием попробовал решения, но я действительно не хочу испортить что-либо и оказаться заблокированным.

Итак, есть ли безопасный способ достичь этого? Достаточно ли будет редактирования /etc/grub.d/10_linux?

Заранее благодарю за ответы.

ОБНОВЛЕНИЕ:

Итак, я решил попробовать решение, указанное выше, и оно сработало, но не без небольших поправок. Я изменил файл /etc/grub.d/10_linux, добавив --unrestricted к строке 132:

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

Обратите внимание, что не следует вносить изменения в строку 130 выше, которая гласит '$(echo "$title" | grub_quote)', иначе вы не сможете получить доступ к меню Grub, нажав клавишу shift при загрузке. По крайней мере, у меня не получилось.

После выполнения команды sudo update-grub и перезагрузки, загрузка пройдет мимо Grub, достигая желаемого эффекта. С другой стороны, если меню Grub вызывается, оно покажет меню, но при попытке выбрать любой из расширенных вариантов, включая консоль и редактирование, будет запрашивать имя пользователя и пароль.

Надеюсь, это поможет кому-то в аналогичной ситуации.

Я благодарен вам за самостоятельный ответ на этот вопрос, вы сэкономили мне много работы. У меня недостаточно репутации, чтобы добавить комментарий, но я хотел поделиться командой sed, которую использовал, чтобы внести это изменение.

Также УБЕДИТЕСЬ, ЧТО СДЕЛАЛИ РЕЗЕРВНУЮ КОПИЮ ДИРЕКТОРИИ GRUB.D СНАЧАЛА. Учитесь на моей ошибке, в своих тестах я каким-то образом добавил –unrestricted в каждую строку, ха-ха. К счастью, у меня была другая установка, с которой я смог скопировать исходный файл.

# резервное копирование оригинальной папки grub.d
cp -a /etc/grub.d .
# добавьте --unrestricted к строке, совпадающей с $os, и сохраните оригинальный файл в 10_linux.bak
sed -i.bak "/\$os/s/grub_quote)'/grub_quote)' --unrestricted/" /etc/grub.d/10_linux
# сравните изменения
diff /etc/grub.d/10_linux{,.bak}

Ответ или решение

Избегайте Grub2 запроса пароля при каждой загрузке: Решение проблемы

Если вы хотите избежать запроса пароля Grub2 при каждой загрузке, но при этом сохранить возможность защиты Grub меню паролем при нажатии клавиши shift, необходимо внести корректировки в конфигурацию. Опишем шаги для достижения этой цели.

Причина проблемы

Вы изначально установили пароль на Grub2, следуя инструкции на другом ресурсе, и это привело к тому, что система запрашивает имя пользователя и пароль всякий раз при загрузке. Основная проблема заключается в том, что в случае повреждения конфигурационных файлов Grub вы можете потерять доступ к системе. Следовательно, необходимо изменить настройки Grub так, чтобы пароль запрашивался только при доступе к Grub меню, но не при стандартной загрузке системы.

Решение

Для настройки Grub таким образом, чтобы пароль запрашивался только при доступе к Grub меню, надо внести изменение в файл конфигурации /etc/grub.d/10_linux.

Шаги выполнения

  1. Резервное копирование конфигурации:
    Прежде чем вносить изменения, создайте резервную копию директории Grub.d для предотвращения возможных ошибок.

    cp -a /etc/grub.d /etc/grub.d.bak
  2. Изменение файла 10_linux:
    Откройте файл /etc/grub.d/10_linux для редактирования:

    sudo nano /etc/grub.d/10_linux
  3. Редактирование строки:
    Найдите строку, начинающуюся с:

    echo "menuentry '$(echo "$os" | grub_quote)' ...

    и добавьте параметр --unrestricted после вызова grub_quote,
    чтобы получилось:

    echo "menuentry '$(echo "$os" | grub_quote)' --unrestricted ...

    Это предложено для строки около 132, но точная строка может варьироваться в зависимости от версии вашего файла.

  4. Обновление Grub:
    После внесения изменений обновите конфигурацию Grub:

    sudo update-grub
  5. Перезагрузка системы:
    Перезагрузите компьютер, чтобы убедиться в применении изменений.

Результат

После выполнения вышеуказанных шагов система должна загружаться без запроса пароля, за исключением случаев, когда Grub меню активировано при старте. Благодаря этому, вы сможете редактировать конфигурационные файлы системы без риска быть заблокированным, если что-то пойдет не так.

Заключение

С помощью этих шагов вы можете добиться более удобного и всё же обезопасенного поведения Grub, сохраняя контроль над доступом к системным опциям. Не забудьте всегда выполнять резервное копирование перед внесением критических изменений в конфигурацию системы.

Вышеуказанный процесс следует всем требованиям по безопасности и позволяет сохранить доступ к системе без частого ввода пароля, что особенно полезно для пользователей, которые опасаются за свои данные или конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...