Resetting the root password in RHEL7/CentOS7/Scientific Linux 7
RHEL7 / CentOS7 / Scientific Linux 7
Things have changed in the RHEL7 world and so has the preferred way of resetting the root password. Although the old way of interrupting the boot process (init=/bin/bash) still works, it is no longer bulletproof and recommended.
'Systemd' uses 'rd.break' to interrupt the boot. Let's have a quick walk through the whole procedure.
Boot into the minimal mode
Reboot the system and press
while being on the kernel list page, before the autoboot starts the system automatically. You get into the edit mode.
Interrupt the boot process
In the kernel string - at the end of the line starting
linux 16 /vmlinuz- ect
. Then Ctrl+X to reboot.
The system boots into the initial ram drive and it's mounted on /sysroot
In this mode you are not required to type the password.
Remount the system so that it can read and write
switch_root:/# mount -o remount,rw /sysroot/
Make /sysroot your root
switch_root:/# chroot /sysroot
The command line will change slightly.
Change the root password
Load SELinux policy
sh-4.2# load_policy -i
Set context type on /etc/shadow file
sh-4.2# chcon -t shadow_t /etc/shadow
You could bypass the last 2 steps by creating an autorelabel file instead, but autorelabeling might take a long time.
sh-4.2# touch /.autorelabel
For that reason, and despite it is easier, it should be regarded as the 'lazy option', and is not recommended.
Exit & reboot
Exit & reboot and log in with your new root password.