Библиотека сайта rus-linux.net
Сброс пароля root в системах на базе Red Hat Linux
Оригинал: How to recover a root password in Red Hat-based Linux systems
Автор: Glen Newell
Дата публикации: 25 февраля 2020 года
Перевод: А. Кривошей
Дата перевода: март 2020 г.
Если вы системный администратор, рано или поздно придет день, когда вам нужно будет работать в системе, для которой у вас, по ряду причин, нет пароля пользователя root. И по статистике, этот день наступит в самый неподходящий момент: вам нужен доступ в эту систему прямо сейчас.
Восстановление пароля root может показаться пугающим процессом, но это не обязательно должно быть сложно или. В системе RHEL/CentOS версии 7 или новее, благодаря загрузчику Grub, сделать это довольно просто.
1. Во-первых, вам нужен консольный доступ: либо с клавиатуры и локального монитора, либо через удаленную консоль виртуальной машины, вам нужно будет видеть и взаимодействовать с загрузчиком.
2. Перезагрузите компьютер: как только загрузчик откроет экран выбора системы, быстро нажмите стрелки вверх и вниз, чтобы приостановить обратный отсчет.
3. Выберите ядро, в которое вы хотите загрузиться, и нажмите «e»: вы попадете на экран, где вы можете отредактировать скрипт загрузчика grub.
4. Найдите строку, которая относится к ядру: здесь будет ряд «boot parameters»: это инструкции, передаваемые во время загрузки ядра.
Для RHEL/CentOS 7 строка начинается с 'linux16'.
Для RHEL /Centos 8x и Fedora строка начинается с 'linux'.
5. Добавьте 'rd.break' в конце этой строки (есть и другие вещи, которые вы можете здесь сделать, но сейчас это все, что вам нужно) [Примечание: это изменение временное].
6. Теперь нажмите Ctrl-x, чтобы запустить отредактированный скрипт загрузчика.
7. Вы загрузитесь с подсказкой «rescue», которая выглядит следующим образом: switch_root:/#.
8. Перемонтируйте корневой раздел в режиме чтения-записи, чтобы вы могли выполнять команды. Введите следующую команду: mount -o remount rw /sysroot, и нажмите клавишу ВВОД.
9. Теперь введите chroot /sysroot и нажмите ввод. Это переместит вас в каталог sysroot (/) и сделает его вашим путем для выполнения команд.
10. Теперь вы можете просто изменить пароль для пользователя root с помощью команды passwd.
11. Затем, перед перезагрузкой, вам нужно убедиться, что SELinux разрешает изменения файла. В ответ на приглашение введите: touch /.autorelabel. Это сообщит SELinux при следующей перезагрузке, что файловая система изменилась (измененный пароль), и разрешит загрузку изменения. Это приведет к тому, что вся файловая система будет «перемаркирована», что может занять некоторое время, в зависимости от размера файловой системы и скорости машины, поэтому помните об этой возможности.
12. Введите команду exit, чтобы выйти из среды chroot, и введите reboot.
Вот и все. Теперь у вас должен быть root-доступ к этой системе.