Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Enter root password for maintenance (or press Control-D to continue) Linux / DevOps

Enter root password for maintenance — Сброс пароля root в systemd

Обновлено: 18.08.2026  ·  Официальная база знаний

Архитектура ошибки и симптомы сбоя

Сообщение «Give root password for maintenance (or press Control-D to continue)» (или «Enter root password for maintenance») отображается утилитой sulogin при переходе в режим восстановления. Проблема становится критической, если в дистрибутиве (Ubuntu, Debian, Cloud-Init образы) учетная запись root заблокирована (пароль отсутствует, в /etc/shadow стоит ! или *). Администратор не может войти в консоль для исправления проблем с дисками или сервисами.

Диагностическая таблица параметров сбоя

ПараметрЗначениеИнженерный смысл сбоя
suloginSingle-User Login UtilityУтилита запроса пароля root перед предоставлением аварийного шелла.
Locked Root Account/etc/shadow (!)По умолчанию на Ubuntu/Debian пароль root отсутствует, вход через sulogin невозможен.
Bypass Vectorinit=/bin/bash / rd.breakПереопределение первого процесса ядра через загрузчик GRUB.

Пошаговое дерево решений и сценарии траблшутинга

Сценарий 1: Обход запроса пароля sulogin через GRUB (init=/bin/bash)

  1. Перезагрузите сервер и в меню GRUB нажмите клавишу e.
  2. Найдите строку, начинающуюся с linux (или linux16/linuxefi).
  3. Удалите параметры rhgb quiet и допишите в конец строки: init=/bin/bash (для RHEL/CentOS можно использовать rd.break).
  4. Нажмите Ctrl+X или F10 для загрузки прямо в корневой shell без запроса пароля.

Сценарий 2: Установка пароля root и перевод корня в Read-Write

# Перемонтируйте корень в режим записи:
mount -o remount,rw /

# Установите новый пароль суперпользователя root:
passwd root

# Для RHEL/CentOS с SELinux создайте флаг автоперемаркировки:
touch /.autorelabel

# Синхронизируйте буферы и перезагрузитесь:
sync
reboot -f

Сценарий 3: Настройка systemd sulogin без запроса пароля в /etc/systemd

Чтобы в будущем аварийный шелл открывался автоматически без запроса пароля root:

# Создайте override для emergency и rescue сервисов:
sudo systemctl edit emergency.service

# Вставьте конфигурацию:
[Service]
ExecStart=
ExecStart=-/sbin/sulogin --force

# Повторите для rescue.service:
sudo systemctl edit rescue.service
Потерян доступ к серверу из-за заблокированной учетной записи root?
ITSTM восстановит административный доступ к физическим и облачным серверам (AWS, GCP, Hetzner, VK Cloud, Selectel) в кратчайшие сроки.
Практический опыт инженера: При использовании параметра rd.break на RHEL/AlmaLinux/Rocky всегда выполняйте 'chroot /sysroot', меняйте пароль и обязательно создавайте файл 'touch /.autorelabel', иначе контексты SELinux заблокируют авторизацию.

Частые вопросы (FAQ)

Почему Ubuntu блокирует пароль root по умолчанию?

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

Что делать, если параметр init=/bin/bash приводит к kernel panic?

Убедитесь, что передали параметр 'rw' вместе с init=/bin/bash, либо используйте загрузку с LiveCD/Rescue ISO и выполните chroot в целевую систему.

Как разблокировать аккаунт root без смены пароля?

В файле /etc/shadow замените восклицательный знак 'root:!:' на хеш валидного пароля или разблокируйте через 'usermod -U root'.

Что такое rd.break в дистрибутивах семейства Red Hat?

Параметр rd.break останавливает процесс загрузки внутри initramfs до того, как реальная корневая система будет смонтирована в /sysroot, позволяя безопасно восстановить доступ к диску.