Ответ
Восстановление пароля root требует физического или консольного (KVM) доступа к серверу и перезагрузки. Это критичная операция, которая приводит к простою.
Пошаговый процесс для систем с GRUB2 (актуален для большинства современных дистрибутивов):
- Перезагрузите сервер и во время загрузки удерживайте
Shift(или нажмитеEsc), чтобы вызвать меню GRUB. - Выберите строку с нужным ядром Linux и нажмите клавишу
eдля редактирования параметров загрузки. - Найдите строку, начинающуюся с
linuxилиlinux16/linuxefi. В конце этой строки добавьтеinit=/bin/bash(илиrd.breakдля систем с initramfs, например, RHEL/CentOS). - Нажмите
Ctrl+XилиF10для загрузки с этими параметрами. Система загрузится прямо в оболочку bash с правами root. - Перемонтируйте корневую файловую систему в режиме чтения-записи:
mount -o remount,rw /Для
rd.breakсначала выполнитеmount -o remount,rw /sysrootиchroot /sysroot. - Измените пароль root:
passwd rootВведите новый пароль дважды.
- Для систем с SELinux (RHEL, CentOS, Fedora) создайте файл-маркер, чтобы перемаркировать контексты при следующей загрузке:
touch /.autorelabel - Перезагрузите систему:
exec /sbin/init 6 # или просто reboot -f
Важные замечания для DevOps:
- Избегайте использования пароля root. Настройте аутентификацию по SSH-ключам и использование
sudoдля привилегированных команд. - Для аварийного доступа в облачных средах (AWS EC2, GCP, Azure) используйте предоставляемые механизмы восстановления (например, серийную консоль в AWS или сброс пароля через панель управления).
- В инфраструктуре как код (IaC) доступ должен настраиваться автоматически (например, через cloud-init или Ansible), а не вручную.