Одним из многих изменений в Red Hat Enterprise Linux 7 / CentOS 7 является то, что он использует GRUB 2 и сброс пароля больше не выполняется в однопользовательском режиме. Например как это было в GRUB, включенном в предыдущие версии, потому что пароль root теперь требуется для работы в однопользовательском режиме, а также в аварийном режиме.
Новая процедура для сброса пароля root RHEL / CentOS 7.0, в случае его забывания выполняется следующим образом:
Рекомендую к прочтению: как дать права root.
Изменить параметры загрузки GRUB 2
Запустите систему и когда вы доберетесь до загрузочного экрана GRUB, показанного на изображении, Нажмите клавишу «E» на клавиатуре, чтобы войти в режим редактирования.
Далее спуститесь к строке «linux16» или «linuxefi» для этого используйте клавиши со стрелками. Теперь удалите параметры «rhgb» и «quiet«, это необходимо для того, чтобы включить системные сообщения. Вы можете увидеть эти параметры в красном прямоугольнике на изображении ниже:
Затем перейдите в конец строки и добавьте опцию «init=/bin/sh» (она показана в синем прямоугольнике на рисунке ниже). Это позволит загрузить вашу систему в оболочке sh, а не запускать системный демон инициализации.
Теперь нажмите Ctrl + X, чтобы загрузиться в оболочку sh.
Изменение пароля root Root в RHEL / CentOS 7.0
Как только оболочка sh будет доступна, вы можете приступить к сбросу пароля root. Первое, что вам требуется сделать это смонтировать корневую файловую систему как read-write. Так как в процессе загрузки она монтируется как read-only. Это можно сделать с помощью следующей команды:
# mount -o remount, rw /
Затем вы можете использовать команду passwd для изменения пароля root:
# passwd
Далее вам нужно будет дважды ввести пароль root, и изменение будет сохранено.
Наконец, чтобы убедиться, что контекст SELinux файлов, которые были изменены, восстановлены правильно. После системы загрузки, вам нужно будет выполнить следующую команду:
# touch /.autorelabel
Все команды проиллюстрированы на рисунке ниже:
Теперь когда пароль root был сброшен, вы можете возобновить процесс загрузки с помощью следующей команды:
# exec /sbin/init
Или если вы хотите перезагрузить систему вы можете использовать эту команду:
# exec /sbin/reboot
Как вы можете видеть данная процедура проста и не должна занимать много вашего времени.
Альтернативный метод сброса забытого пароля Root
Альтернативным методом сброса пароля root является использование “rd.break enforcing=0” вместо “init=/bin/sh” в приведенных выше параметрах загрузки GRUB 2. Вам придется следовать в основном тем же шагам, что и выше.
# mount-o remount, rw / sysroot
# chroot / sysroot
# passwd
# выход