By Thanoshan MV

In Linux, when you forget your account password, you can easily reset it using a root account. But when you forget your root account password, then you're in a bad situation.

You can’t reset your root account password using a regular user account as a user account can't perform such tasks in general.

In this article we’ll be covering how to recover your CentOS root password. So let's see how to do it.

How to recover your root password - step-by-step

In CentOS, it’s possible to have the scripts that run from the initramfs debug the shell at certain points, provide a root shell, and continue when that shell exists.

While this is mostly meant for debugging, it can also be used to recover a lost root password.

Follow these steps to recover your lost root password.

First, reboot the system.

Image

Interrupt the boot loader countdown by pressing any key.

Move the cursor to the entry that needs to be booted.

Image

Press “e” to select that entry. After selecting that entry, the below kernel commands will appear.

Image

In the kernel command line, move the cursor to the line that starts with linux16.

Image

Press the “End” key to move the cursor to the end of it. Type “rd.break” (This will break just before control is handed from the initramfs to the actual system).

Image

Then press “Ctrl+x” to save those changes. The Initramfs debug shell will appear.

Image

Next, we have to provide read and write permissions to /sysroot by typing the below command:

mount -o remount,rw /sysroot/

Image

Now switch into chroot jail.

chroot /sysroot

Image

In here, /sysroot is treated as the root of the file system tree.

Next you'll set a new root password.

passwd root

Image

And relabel the files.

touch /.autorelabel

Image

Finally, type “exit” twice.

The first one will exit from the chroot jail.

Image

The next one will exit from the initramfs debug shell and reboots the system.

Image

Now you can login as root with your updated password.

Please feel free to let me know if you have any questions. You can contact and connect with me on Twitter.

Thank you for reading.

Happy Coding!