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
упаковка.