Сброс пароля в Linux

Сброс пароля root (или любого пользователя) в Linux через GRUB

Была вот совсем недавно история, когда понадобилось сбросить пароль в linux, сеть навернулась, доступ был только по vnc консоли, а она упорно не понимает символы типо $. Ну опять же небольшая заметка например.

1. Редактируем запись в GRUB

При загрузке, на экране GRUB выбираем обычный пункт Ubuntu (или другую систему) и жмём e.

Находим строку, начинающуюся с:

linux /boot/vmlinuz-...

В конец этой строки (в одной строке, без переноса!) добавляем:

init=/bin/bash

Перед init= обязательно должен быть пробел.

Пример готовой строки:

linux /boot/vmlinuz-6.8.0-31-generic root=UUID=xxxx ro quiet splash init=/bin/bash

2. Запускаем bash

Жмём Ctrl + X или F10 — система загрузится сразу в bash под root'ом.

3. Перемонтируем корень в режим записи

По умолчанию файловая система монтируется как read-only. Меняем:

mount -o remount,rw /

4. Сбрасываем пароль

Теперь можно изменить пароль нужному пользователю:

passwd root

или, например:

passwd insane

5. Перезагружаемся

Способ 1 (корректный):

exec /sbin/init

Если не сработало или система зависла:

reboot -f

Если используется LUKS/шифрование, нужно сначала ввести пароль на этапе разблокировки, иначе root-доступа не будет.