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
e 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 type
rd.break. 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.