Как в Linux сбросить пароль root на примере CentOS Stream 9.

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

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

Для того чтобы восстановить доступ к такой машине нам нужно сбросить пароль пользователя root. В Linux это делается с помощью загрузчика GRUB.

Если мы имеем дело с локальным сервером (физическим или виртуальной машиной) – работаем непосредственно через его командный интерфейс. Если сервер предоставляется нам провайдером, то он же предоставляет доступ к виртуальной консоли через веб интерфейс.

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

shutdown -r
или
reboot

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

Когда загрузка дойдет до GRUB, как на скриншоте, жмем e.

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

Строка linux отвечает за то, с какими параметрами запускается система. В конце данной строки дописываем:

rw init=/bin/bash

После редактирования нажимаем Ctrl-x для продолжения загрузки.

Таким образом, мы запустим систему в режиме одного (root)  пользователя.

Когда загрузится bash консоль выполняем пару простых команд.

Если в системе включен SELinux, зададим перемаркировку при следующей загрузке, при отключенном SELinux данный шаг можно пропустить:

touch /.autorelabel

Меняем пароль текущего пользователя (root):

passwd

После того, как мы задали и подтвердили новый пароль, перезапускаем систему:

exec /sbin/init

Перемаркировка, если мы ее инициировали, займет некоторое время, а далее мы увидим привычный экран входа в систему, проверяем новый пароль:

Как видите, на практике оказалось, что сбросить пароль пользователя root в Linux не так и сложно. Мы рассмотрели процесс на примере CentOS Stream 9, но для других дистрибутивов он не сильно отличается.