Сброс пароля root в системе. (up25)

Установка, настройка, эксплуатация.

Модератор: ROOT

Сброс пароля root в системе. (up25)

Сообщение ROOT » 14 июн 2017, 06:04

Оглавление


Сброс пароля root в системе (GRUB / init)
Введение
Когда забываешь пароль root, зачастую можно восстановить его через режим восстановления, загрузившись с параметром `init=/bin/sh` через меню GRUB. Эта инструкция подходит для Fedora, CentOS и подобных дистрибутивов с GRUB2 и SELinux. Также приведён альтернативный подход для systemd (rescue/recovery), который полезен на современных системах.


Шаги по сбросу пароля
  1. При загрузке системы удерживаем SHIFT (или клавишу Esc, в зависимости от конфигурации), чтобы отобразить меню GRUB.
  2. В меню GRUB нажимаем e — редактирование параметров загрузки ядра.
    • Найди строку, начинающуюся с `linux` или `linux16` / `linuxefi`.
    • В конце этой строки добавь:
    Код: выделить все
    init=/bin/sh

    • — При необходимости замени параметр `ro` на `rw`, чтобы не пришлось перемонтировать в дальнейшем (иногда можно сразу добавить `rw`):
    Код: выделить все
    linux … rw init=/bin/sh
  3. Нажимаем Ctrl+X или F10, чтобы продолжить загрузку с отредактированными параметрами (они **не сохраняются**).
  4. После загрузки система, как правило, монтируется как `ro` (только для чтения). Перемонтируй корневую файловую систему:
    Код: выделить все
    mount -o rw,remount /
  5. Если на системе активен SELinux, можно временно ослабить контроль (в зависимости от окружения):
    Код: выделить все
    setenforce 0  # если доступна утилита setenforce

    (на некоторых дистрибутивах может потребоваться загрузка политик — команда `/sbin/load_policy -i` встречается реже и может отсутствовать).
  6. Теперь можно сменить пароль root:
    Код: выделить все
    passwd root
  7. Чтобы “вернуть” процесс загрузки в норму, запусти:
    Код: выделить все
    exec /sbin/init

    Это заменит текущий шелл на полноценный init-процесс.
  8. Если политика SELinux не была загружена ранее или были изменены контексты, будет полезно создать файл автолейблинга:
    Код: выделить все
    touch /.autorelabel

    При следующем запуске система пересчитает метки.


Альтернатива (systemd)
Вместо `init=/bin/sh` можно в GRUB добавить параметр для перехода в rescue/recovery режим systemd:
Код: выделить все
systemd.unit=rescue.target

Это загрузит минимальный режим systemd, где проще работать с systemctl и passwd. На некоторых системах удобнее и безопаснее.



Если корневой раздел зашифрован (LUKS)
Если система установлена с полным шифрованием диска (LUKS/LVM-on-LUKS), перед доступом к `/` потребуется расшифровать раздел вручную.
После входа в GRUB и добавления параметра `init=/bin/sh`, при загрузке ядро остановится и запросит пароль для разблокировки устройства.
Пример команды (если загрузка вручную через initramfs):
Код: выделить все
cryptsetup luksOpen /dev/sda2 cryptroot
vgchange -ay
mount /dev/mapper/vg-root /

После этого можно выполнить обычные шаги по сбросу пароля.
Важно: без ключа LUKS расшифровать раздел невозможно — ни GRUB, ни init не помогут, потому что данные физически зашифрованы.



Важные замечания и ограничения
  • Параметры, добавленные в GRUB через `e`, **не сохраняются навсегда** — это временно, на одну загрузку.
  • Если дистрибутив использует более сложный механизм защиты (например, пароль GRUB, шифрование root/LUKS), этот метод может не сработать. При зашифрованном разделе нужно знать пароль шифрования.
  • В системах с SELinux или AppArmor может потребоваться пересчёт меток или дополнительная работа с контекстами; после вмешательств проверь целостность меток.
  • Метод подходит, если у тебя физический или консольный доступ к машине. В облачных средах или на VPS — загрузчик и доступ могут быть ограничены (console/serial/bootloader провайдера).
  • После успешного восстановления стоит проверить целостность `/etc/shadow`, `/etc/passwd` и убедиться, что root имеет нужные права и оболочку.


Заключение
Этот способ — быстрый “аварийный” метод сброса root-пароля через GRUB и init.
На современных системах он может быть ограничен безопасностью (пароль GRUB, шифрование, защита загрузчика), но во многих случаях выручает.
Главное: действуй аккуратно и убедись, что ты знаешь, на каком диске и разделе происходят изменения.
Администрирование Fedora Linux + настройка сети и прочая IT-Ботва


Для желающих поддержать
Карта SB: 2202 2083 5115 2302


Лучше ужасный конец, чем ужас без конца!
Аватар пользователя
ROOT
Администратор
 
Сообщений: 462
Зарегистрирован: 01 авг 2011, 09:36
Откуда: Моск. обл., г. Железнодорожный

Вернуться в Fedora

Кто сейчас на форуме

Сейчас этот форум просматривают: ROOT и гости: 2