Гид по технологиям

Восстановление утраченного пароля root в Linux

7 min read Linux Обновлено 03 Dec 2025
Как восстановить пароль root в Linux
Как восстановить пароль root в Linux

Важно: многие дистрибутивы (например, Ubuntu) по умолчанию отключают учётную запись root и используют sudo для административных задач. В таких системах обычно достаточно получить sudo-права и выполнить sudo -s или sudo passwd root.

Краткое введение

Этот документ описывает четыре распространённых метода восстановления или сброса пароля root в Linux и даёт практические рекомендации по безопасности и проверке результата. Каждый метод применим в разных ситуациях — от обычного рабочего ноутбука до сервера без доступа к учетной записи с sudo.

Основные варианты:

  • Сброс через sudo
  • Сброс через GRUB (single-user)
  • Сброс через systemd debug shell
  • Сброс с помощью Live ISO и chroot

Ниже — пошаговые инструкции, рекомендации, когда метод не сработает, чеклисты и советы по безопасности.

Сброс пароля root через sudo

Когда применять: у вас есть активный обычный пользователь, входящий в группу sudo (или wheel). Это самый простой и безопасный способ.

Проверка принадлежности к sudoers:

groups

Если в выводе есть sudo или wheel, можно использовать sudo.

Шаги:

sudo passwd root

Система запросит новый пароль и подтвердит его. Затем проверьте вход под root:

su -
# или
sudo -i

Когда не сработает:

  • Нет пользователя с правами sudo.
  • Система настроена так, что root отключён и смена пароля не переводит root в активное состояние (редко).

Советы по безопасности:

  • После восстановления пароля убедитесь, что вход root по SSH запрещён (см. /etc/ssh/sshd_config: PermitRootLogin no).
  • Рассмотрите возможность оставлять root заблокированным и управлять через sudo с журналированием.

Сброс пароля root через GRUB (single-user)

Когда применять: на локальной машине нет sudo-пользователя, но есть физический доступ к загрузчику GRUB.

Шаги общего алгоритма:

  1. Перезагрузите систему и дождитесь меню GRUB. В разных установках меню появляется автоматически или при удерживании Shift/Esc при загрузке.
  2. Выберите нужную запись ядра и нажмите E, чтобы редактировать командную строку загрузки.
  3. Найдите строку, начинающуюся с linux (она содержит параметры ядра). В этой строке замените ro на rw и добавьте в конец init=/bin/bash.
  4. Загрузитесь с изменёнными параметрами (обычно Ctrl+X или F10).

Пример изменённой строки загрузки (для наглядности):

linux /vmlinuz-... root=/dev/sda1 rw init=/bin/bash

После загрузки у вас появится однопользовательский shell от root. Перед сменой пароля смонтируйте корневой раздел в режиме чтения-записи:

mount -n -o remount,rw /

Сброс пароля:

passwd root

После успешной смены пароля перезапустите системный инициализатор:

exec /sbin/init
# или, если init в другом месте
exec /lib/systemd/systemd

Когда не сработает:

  • GRUB защищён паролем (в корпоративных установках так бывает).
  • На некоторых системах с зашифрованным / (LUKS) доступ к корневому файлу невозможен без ввода пароля расшифровки диска.

Важное замечание:

После успешной операции не забудьте удалить любой добавленный параметр init=/bin/bash из конфигурации GRUB, если вы вносили постоянные изменения.

Сброс пароля root через режим отладки systemd

Когда применять: хотите избежать правки строк GRUB при загрузке и у вас есть доступ к редактированию конфигурации GRUB (нужны права sudo).

Шаги:

  1. Откройте файл конфигурации GRUB для редактирования (требуются sudo-права):
sudo nano /etc/default/grub
  1. Найдите строку с GRUB_CMDLINE_LINUX и добавьте внутри кавычек параметр systemd.debug-shell.

Пример:

GRUB_CMDLINE_LINUX="... systemd.debug-shell"
  1. Примените конфигурацию GRUB. В разных дистрибутивах команда отличается:
# Debian/Ubuntu
sudo update-grub
# или
sudo grub-mkconfig -o /boot/grub/grub.cfg
  1. Перезагрузите систему. После загрузки нажмите Ctrl+Alt+F9 (TTY9) — должен появиться root-shell от systemd-debug-shell.

  2. Выполните сброс пароля:

passwd root
  1. После завершения обязательно удалите параметр systemd.debug-shell из /etc/default/grub и заново выполните update-grub или grub-mkconfig.

Когда не сработает:

  • Параметр systemd может быть заблокирован политиками безопасности в этой сборке дистрибутива.
  • Опять же, если корневой раздел зашифрован, доступ невозможен без расшифровки.

Сброс пароля root с помощью Live ISO и chroot

Когда применять: у вас нет доступа к текущей системе, но есть загрузочный Live-образ (например, Ubuntu или другой дистрибутив) и физический доступ к машине.

Шаги:

  1. Создайте загрузочную флешку с Live ISO и загрузитесь с неё. В меню Live выберите «Try Ubuntu» или аналогичный режим «Попробовать без установки».
  2. Откройте терминал в Live-сессии и получите root-привилегии:
sudo -s
  1. Определите устройство с корневым разделом вашей установленной системы:
sudo fdisk -l
# или
lsblk -f
  1. Смонтируйте корневой раздел в директорию для восстановления:
mkdir -p /mnt/recover
mount /dev/sdXY /mnt/recover
# где /dev/sdXY замените на реальный раздел, например /dev/sda4
  1. Если у вас отдельные разделы /boot, /var, /home или используется LVM, смонтируйте и их в соответствующие точки внутри /mnt/recover.

  2. Выполните chroot:

mount --bind /dev /mnt/recover/dev
mount --bind /proc /mnt/recover/proc
mount --bind /sys /mnt/recover/sys
chroot /mnt/recover /bin/bash
  1. Сбросьте пароль:
passwd root
  1. Выйдите из chroot и размонтируйте:
exit
umount /mnt/recover/dev
umount /mnt/recover/proc
umount /mnt/recover/sys
umount /mnt/recover
  1. Перезагрузите систему и загрузитесь с основного диска.

Когда не сработает:

  • Если корневой раздел использует шифрование, потребуется расшифровать LUKS перед монтированием.
  • Неправильно выбран раздел — всегда перепроверьте fdisk -l или lsblk.

Проверка успешности и критерии приёмки

Критерии приёмки:

  • Успешный вход под root из локальной консоли: su - и ввод нового пароля.
  • Если нужно, успешный вход по SSH как root (только если это требуется и разрешено политикой безопасности).
  • При изменениях в GRUB — загрузка без дополнительных параметров и отсутствие нежелательных постоянных параметров в /etc/default/grub.

Проверочные команды:

su -   # ввод нового пароля
id root
# проверка ssh (только если разрешено): ssh root@localhost

Быть аккуратным с зашифрованными дисками

Если ваш корневой раздел зашифрован (LUKS), методы, предполагающие доступ к файловой системе без расшифровки (GRUB single-user, systemd debug), не дадут доступа к файлам или смене пароля до момента расшифровки. В таком случае используйте Live ISO и расшифруйте LUKS-контейнер с помощью cryptsetup luksOpen.

Мини-методология восстановления для администратора (SOP)

  1. Оцените ситуацию: физический доступ, наличие sudo-пользователя, шифрование диска, защита GRUB.
  2. Если есть sudo-пользователь — используйте sudo passwd root.
  3. Если нет sudo и диск не зашифрован — используйте GRUB single-user.
  4. Если GRUB защищён паролем или диск зашифрован — загрузитесь с Live ISO и используйте chroot.
  5. Сбросьте пароль, проверьте вход, обновите записи GRUB при необходимости, и примените настройки безопасности.
  6. Документируйте изменения и отзыгните временные привилегии.

Чек-лист для разных ролей

Для пользователя (не root):

  • [ ] Проверить, есть ли у меня sudo: groups.
  • [ ] Попробовать sudo passwd root (только при необходимости).
  • Обратиться к администратору, если нет физического доступа.

Для администратора на месте:

  • Определить, используется ли шифрование диска.
  • Определить, есть ли пароль GRUB.
  • Выбрать метод: sudo, GRUB, systemd debug, Live ISO.
  • Выполнить смену пароля и проверить вход.
  • Убрать временные изменения в загрузчике и уведомить владельца.

Справочник команд — кратко

# Проверка групп
groups

# Сброс пароля через sudo
sudo passwd root

# Монтирование корня в GRUB single-user
mount -n -o remount,rw /
passwd root
exec /sbin/init

# Редактирование GRUB config
sudo nano /etc/default/grub
sudo update-grub
# или
sudo grub-mkconfig -o /boot/grub/grub.cfg

# Live ISO: определить разделы
sudo fdisk -l
lsblk -f

# Live ISO: монтирование и chroot
mkdir -p /mnt/recover
mount /dev/sdXY /mnt/recover
mount --bind /dev /mnt/recover/dev
mount --bind /proc /mnt/recover/proc
mount --bind /sys /mnt/recover/sys
chroot /mnt/recover /bin/bash
passwd root
exit
umount /mnt/recover

Советы по безопасности после восстановления

  • Запретите удалённый вход для root по SSH: в /etc/ssh/sshd_config выставьте PermitRootLogin no и перезапустите sshd.
  • Подумайте о политике использования sudo: лучше вести аудит действий через sudo, чем полноценно использовать root.
  • Проверьте /var/log/auth.log или systemd-journald на предмет подозрительных входов.
  • Если вы использовали Live ISO или внесли временные изменения в загрузчик — верните исходные настройки.

Когда методы не должны применяться (контекст безопасности)

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

Краткий глоссарий (одна строка на термин)

  • root — суперпользователь в Unix/Linux с полными привилегиями.
  • sudo — утилита для выполнения команд от имени другого пользователя, обычно root.
  • GRUB — загрузчик GNU, который предоставляет меню загрузки и параметры ядра.
  • chroot — запуск командной оболочки с корнем файловой системы, изменённым на другой путь.
  • Live ISO — загрузочный образ ОС, позволяющий работать без установки на диск.

Короткое резюме

  • Если есть sudo-пользователь — начните с sudo passwd root.
  • Если sudo недоступен, а диск не зашифрован — используйте GRUB single-user.
  • Если GRUB защищён или диск зашифрован — загрузитесь с Live ISO и выполните chroot.
  • Всегда возвращайте временные изменения конфигурации и применяйте рекомендации по безопасности.

Image credit: Grok via x.ai. All alterations and screenshots by Ramces Red.

Женщина работает за ноутбуком; на экране видна иконка замка, символизирующая безопасность системы.

Меню загрузчика GRUB с выделением пункта «Advanced options for Arch Linux».

Меню GRUB: выделены параметры rw и init для запуска в режиме однопользовательского шелла.

Опция «Try Ubuntu» в Live ISO для запуска рабочего стола без установки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как настроить уведомления Ecobee при проблемах с HVAC
Умный дом

Как настроить уведомления Ecobee при проблемах с HVAC

Интеграция Bootstrap-шаблона в React App
Веб-разработка

Интеграция Bootstrap-шаблона в React App

Подключить образ Macrium Reflect и извлечь файлы
Резервное копирование

Подключить образ Macrium Reflect и извлечь файлы

Исправить Video driver crashed в Windows
Windows

Исправить Video driver crashed в Windows

Включить уведомления автозапуска в Windows 11
Windows

Включить уведомления автозапуска в Windows 11

Как вернуть значок Корзины в Windows 11
Windows

Как вернуть значок Корзины в Windows 11