Про сброс паролей в Linux
Один из способов сбросить root пароль - это отредактировать в grub параметры загрузки и добавить в конец строки начинающейся на ‘linux’, инструкцию rd.break, которая прерывает процесс загрузки.
После нажатия Ctrl-x, чтобы загрузиться, система просто зависает и ничего не происходит.
ОС на которой я сбрасывал пароль - Oracle Linux 9. зависание при загрузке
Немного покопавшись я выяснил, что проблема кроется в строке console=ttyS0m115200n8 и если ее убрать, то rd.break отрабатывает нормально. Вместо rd.break можно использовать init=/bin/bash, но строку с console= все равно придется удалить.
Процесс сброса root пароля
Сброс пароля можно осуществить несколькими способами. Например через параметр rd.break или через параметр init=/bin/bash. Возможно существует еще каки-то способы, но этих двух вполне достаточно.
Сброс через rd.break
Выбор подходящего ядра
Загружаемся в систему, выбираем нужное ядро из списка доступных и нажимаем ‘e’(edit) для редактирования параметров загрузки ядра. выбор ядра для редактирования параметров
Редактирование параметров ядра
Добавляем необходимые параметры в конец строки linux… добавляем опцию rd.break
Нажимаем Ctrl-x и загружаем систему для дальнейшего сброса
Сброс пароля
Процесс сброса в командах:
1
2
3
4
5
6
7
8
9
10
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
sh-5.1# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
sh-5.1# touch /.autorelabel
sh-5.1# exit
switch_root:/# reboot
Сброс через init=/bin/bash
Выбор подходящего ядра
Загружаемся в систему, выбираем нужное ядро из списка доступных и нажимаем ‘e’(edit) для редактирования параметров загрузки ядра. выбор ядра для редактирования параметров
Редактирование параметров ядра
Далее добавляем необходимые параметры в конец строки linux… добавляем опцию rd.break
Нажимаем Ctrl-x и загружаем систему для дальнейшего сброса
Сброс пароля
В данном случае различия минимальны:
1
2
3
4
5
6
7
8
bash-5.1:# mount -o remount,rw /
bash-5.1:# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
bash-5.1:# touch /.autorelabel
bash-5.1:# /usr/sbin/reboot -f
autorelabel
После первого запуска системы, если включен SELinux, будет выполнен autorelabeling (т.к мы создали файл /.autorelabel). Система автоматически перезагрузится два раза. При первом запуске вся файловая системя будет автоматически перемаркирована используя fixfiles -F restore.