Как восстановить пароль от пользователя root в CentOS 7?

 
После перезагрузки сервера нужно успеть нажать клавиши со стрелками вверх ↑ или вниз ↓, чтобы остановить процесс загрузки, дальше выбрать нужную версию ядра и нажать клавишу "e" для перехода в меню редактирования параметров загрузчика.

 

Используя клавиши вверх ↑ и вниз ↓ найдите строку, которая начинается с "linux16".


 

Переместите курсор в право до "ro" и измените на "rw", добавьте ещё один параметр "rd.break", чтобы получить в итоге вариант загрузки как указано на скриншоте ниже, для старта системы используйте комбинацию клавиш "Ctrl-x"


 

После чего загрузится режим восстановления, где файлы нашего корневого раздела будут находится в директории "sysroot", для удобства сделаем "chroot /sysroot" и теперь сможем поменять пароль командой "passwd".







Важно, если включен и используется SELinux, тогда нужно создать в корневом каталоге файл, чтобы повторно применить из конфига правильный контекст (label's), полностью ко всем файлам в системе после перезагрузки, займет какое-то время, зависит от количества файлов в самой системе:

touch /.autorelabel

При отключенном SELinux нет необходимости в упомянутом выше действии.

Выходим из chroot используя команду "exit" и перезагружаемся "reboot".

Дополнительная заметка, находясь еще в режиме восстановления после смены пароля, конечно, если больше мы ничего не меняли, тогда можем загрузить правила SELinux и применить их только к необходимой директории, в случае смены пароля к /etc (займет меньше времени чем touch /.autorelabel, так как там правила применяются ко всей системе):

load_policy ‑i && restorecon ‑Rv /etc/


Комментарии