Как я восстановил окирпиченный Linux без доступа к учеткам

b26ebf5710b86ed0d1f86b727483562c

Всем привет!

Стоит внести небольшое предисловие, что пароль от учетки забыл не я, а мой товарищ, но я помог ему восстановить доступ.

Как все было?

У моего друга, назовем его Максим, есть домашний сервер, который достался ему от его знакомого. Но проблема была в том, что Максим со временем забыл пароль от своей учетки, потому что около 1.5 лет не пользовался сервером, а знакомый, от которого он получил сервак, тоже не помнит данных от своей учетки.

Что мы имеем?

А мы имеем кирпич. Никто не знает данных от своих учеток, на сервер не пробраться, как-то сбросить пароль не получается.

Как решали?

Тут возможны два варианта:

  1. Если стоит пароль на загрузчик

  2. Если не стоит пароль на загрузчик (решение — дело 2-х минут)

Начну со второго, тут все просто и по пунктам

  1. загружаем в режиме восстановления

  2. Если у вас появилось окно с выбором ОС, то выбираем нужную, которую хотим восстановить и НЕ нажимаем Enter, а нажимаем E и попадаем в редактор, если назвать это коротко.

  3. Если меню GRUB не отображается, нажимайте клавишу Shift (для BIOS) или Esc (для UEFI) сразу после включения сервера.

  4. Далее мы должно поменять параметры загрузки

    1. Найти строку, которая начинается с linux или linux16

    2. В конце строки добавить init=/bin/bash

      1. Строка должна быть похожа примерно на это, но не обязана иметь все параметры, например, в моем случае не было quiet и splash, а вот init=/bin/bash как раз то, что нам и нужно дописать.

      2. linux /boot/vmlinuz-5.15.0-56-generic root=UUID=12345678-1234-1234-1234-123456789abc ro quiet splash init=/bin/bash
        
    3. Ctrl+X или F10, чтобы загрузиться с измененными параметрами

  5. Данные манипуляции должны были загрузить нас в однопользовательском режиме от рута.

  6. Далее просто меняем пароль, как у обычного пользователя, но сначала надо примонтировать корневую файловую систему.

    1. mount -o remount,rw /
      passwd имя_пользователя  # меняем пароль по обычной схеме
      reboot  # после смены пароля перезапускаем сервер и уже загружаемся в обычном режиме и вводим новый пароль

Если у вас все таки стоит пароль на загрузчик, то тут немного сложнее. Нам потребуется загрузочный диск или USB с live-версией Linux. Здесь я расскажу коротко об общих действиях, если вдруг увижу спрос на данную тему, то обязательно распишу подробнее .

  1. Загружаемся с live-носителя

  2. Монтируем диски сервера

  3. Сброс пароля через chroot или редактирование конфигурации GRUB (самая сложная часть тут)

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

© Habrahabr.ru