Ubuntu блокирует однопользовательский режим без пароля

Сегодня я пытаюсь использовать способ, который я знал несколько лет, чтобы войти в однопользовательский режим: войти в режим редактирования Grub и добавить single в конце строки kernel и введите F10,

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

Но теперь все изменилось...

Так Ubuntu заблокировал этот однопользовательский режим без пароля?

2 ответа

Решение

Так Ubuntu заблокировал этот однопользовательский режим без пароля?

Нет. В однопользовательском режиме пароль запрашивается, если он установлен для "root", но это не значение по умолчанию.

ввести пароль root

Ubuntu не работает с "root", и пароль для "root" устанавливается / отключается при установке.

И тогда есть systemd. Видишь ли, если...

grep ExecStart /usr/lib/systemd/system/rescue.service

возвращает "sulogin", тогда это причина для запроса пароля. Параметры в этой строке объяснят, что спрашивают.


Страница man для sulogin объясняет его поведение:

sulogin is invoked by init when the system goes into single-user mode.

The user is prompted:

      Give root password for system maintenance
      (or type Control-D for normal startup):

If the root account is locked and --force is specified, no password is required.

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

Вместо этого нам нужно создать для него файл переопределения следующим образом:

      systemctl edit rescue.service

Это откроет текстовый редактор. Добавьте эти строки:

      [Service]
ExecStart=
ExecStart=-/bin/bash

(к вашему сведению: пустоеExecStart=обязательно отменить существующее значение, прежде чем установить его на то, что мы хотим)

Теперь сохраните файл, и он создаст файл, содержимое которого переопределит/lib/systemd/system/rescue.service

Вам также необходимо убедиться, что пакет удален, так как это не позволит ему работать.

apt purge friendly-receovery

Удаление пакета должно автоматически вызватьupdate-grubно если это не так, вам может потребоваться запустить его вручную.

Если вы хотите вернуться к поведению по умолчанию (запрашивать пароль root), удалите/etc/systemd/system/rescue.service.d/override.confсозданный вами файл и (при желании) переустановитеfriendly-recoveryупаковка.

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