Всем привет!!
Стоит внести небольшое предисловие, что пароль от учетки забыл не я, а мой товарищ, но я помог ему восстановить доступ.
Как все было?
У моего друга, назовем его Максим, есть домашний сервер, который достался ему от его знакомого. Но проблема была в том, что Максим со временем забыл пароль от своей учетки, потому что около 1.5 лет не пользовался сервером, а знакомый, от которого он получил сервак, тоже не помнит данных от своей учетки.
Что мы имеем?
А мы имеем кирпич. Никто не знает данных от своих учеток, на сервер не пробраться, как-то сбросить пароль не получается.
Как решали?
Тут возможны два варианта:
Если стоит пароль на загрузчик
Если не стоит пароль на загрузчик (решение - дело 2-х минут)
Начну со второго, тут все просто и по пунктам
загружаем в режиме восстановления
Если у вас появилось окно с выбором ОС, то выбираем нужную, которую хотим восстановить и НЕ нажимаем
Enter
, а нажимаемE
и попадаем в редактор, если назвать это коротко.Если меню GRUB не отображается, нажимайте клавишу
Shift
(для BIOS) илиEsc
(для UEFI) сразу после включения сервера.-
Далее мы должно поменять параметры загрузки
Найти строку, которая начинается с
linux
илиlinux16
-
В конце строки добавить
init=/bin/bash
Строка должна быть похожа примерно на это, но не обязана иметь все параметры, например, в моем случае не было
quiet
иsplash
, а вотinit=/bin/bash
как раз то, что нам и нужно дописать.-
linux /boot/vmlinuz-5.15.0-56-generic root=UUID=12345678-1234-1234-1234-123456789abc ro quiet splash init=/bin/bash
Ctrl+X
илиF10
, чтобы загрузиться с измененными параметрами
Данные манипуляции должны были загрузить нас в однопользовательском режиме от рута.
-
Далее просто меняем пароль, как у обычного пользователя, но сначала надо примонтировать корневую файловую систему.
-
mount -o remount,rw / passwd имя_пользователя # меняем пароль по обычной схеме reboot # после смены пароля перезапускаем сервер и уже загружаемся в обычном режиме и вводим новый пароль
-
Если у вас все таки стоит пароль на загрузчик, то тут немного сложнее. Нам потребуется загрузочный диск или USB с live-версией Linux . Здесь я расскажу коротко об общих действиях, если вдруг увижу спрос на данную тему, то обязательно распишу подробнее .
Загружаемся с live-носителя
Монтируем диски сервера
Сброс пароля через
chroot
или редактирование конфигурации GRUB (самая сложная часть тут)
Вполне возможно, что я мог опечататься в командах, так как пишу статью уже спустя 2 недели с того случая, так что рекомендую перепроверять в интернете, но я постарался расписать словами, что мы делаем и что должны получить, чтобы было легче гуглить.
Комментарии (15)
SergeyNovak
20.01.2025 14:35Еще стоит открыть для себя live-дистрибутивы, которые можно стартовать от флэшки до дискеты. А вариантов еще миллион. Например, сбить любым способом загрузку со стандартного устройства и тогда, возможно, пойдет загрузка по сети. О таком варианте писал пост:
https://habr.com/ru/companies/ruvds/articles/774482/
randomsimplenumber
20.01.2025 14:35Кирпич - это если не грузится. Забыл пароль - совсем другой случай.
Naves
20.01.2025 14:351) если в опциях загрузки убрать слово ro и вписать rw то не нужно делать лишний remount.
2) перед reboot рекомендуется вводить sync, бывают нюансы дисковых систем.
3) У меня знакомый рассказывал, что на каком-то centos-based (там еще АТС asterisk стояла) такой способ принципиально не работал из-за какого-то аналога etckeeper, который возвращал старые пароли после загрузки.
Renatk
20.01.2025 14:353. Был включен selinux. В статье не рассмотрели данный момент, как не отключая его правильно сбросить пароль.
OverDrop
20.01.2025 14:35А еще проще и правильнее было накатить заново ОС. Потому что никто не знает, что делал знакомый Максима на сервере.
outlingo
20.01.2025 14:35Окирпиченный линукс это когда у вас подписанный зашифрованный загрузочный образ ядра и initrd с паролем на изменение параметров, и расшифровку этих образов загрузчик делает на аппаратном устройстве. Вот это окирпичен. А то что вы описали это одна перезагрузка.
P.S.: в общем то описанная гипотетическая схема кирпича реализована и может быть включена во всех современных железках. Ну разве что без шифрования загрузчика
CTOMAPBEP
20.01.2025 14:35магия линукса в том что он просто легально чинится, а винду почти всегда придётся переустанавливать.
randomsimplenumber
20.01.2025 14:35Нет никакой магии. Переустановить всегда проще чем починить. К Linux это тоже относится.
nagibat0r
20.01.2025 14:35Читать эту статью - как смотреть, как кто-то гордо заявляет: "Смотрите, я нашёл способ завязывать шнурки!".
Такие открытия, безусловно, спасут мир... однажды.
aelaa
Вариантов там ооочень далеко не 2:
а если шифрование раздела?
а если не GRUB?
а если не bash?
а если...
Статья "чтобы легче гуглить", после которой гуглить придется еще больше.
RaisonCollab Автор
Вы абсолютно правы, можно найти много "а если", я лишь написал о том, с чем столкнулся сам и какие действия предпринимал ))