How To Reset Your Forgotten Root Password On CentOS 7 Servers

Sometimes you forget stuff. I do. I forget important passwords for important websites sometimes. Retrieving your forgotten passwords for most websites is easy, all one has to do remember few details that were used when signing up for the service to get a password reset for an account.

The difference is forgetting a password to a system or device with no easy way to reset it while locked out. CentOS 7 is one such system. If you forget the root password to your CentOS 7 machine, it’s almost virtually impossible to reset it while you’re locked out.

This brief tutorial is going to show you a simple trick that you can use to reset your forgotten root password for CentOS 7 servers. This will definitely come in handy for webmasters who are locked out of your CentOS machine and can’t sign on.

This tutorial will only work if you have direct access to the machine or serial terminal access with boot menu options. You can’t reset the root password if you’re remotely connected since you need boot menu access.

Enhance your coding experience with this split keyboard that offers up to 9" of separation.

To get started, turn on the machine that you’ve forgotten the root password on. For CentOS 7 devices, you’ll be given 5 seconds at the boot menu to select the operating system kernel to boot into.

That 5 seconds is important, because allows for  admins to select different kernels or edit existing kernel parameters before booting.

At the boot menu, press e to edit the existing kernel (Core) as shown below.

Changing root password on centos 7

 

Next, scroll down to the list until you see the line underlined below ( ro ) . What we need to do is change that ro to rw and start into a bash shell. It should look like this rw init=/sysroot/bin/sh.

 

forgotten root password on centos 7

 

 

Change the ro line to rw and add init=/sysroot/bin/sh

rw init=/sysroot/bin/sh

changing root password on centos

 

After changing that, press Control + X  or Ctrl + X  on your keyboard to start into single user mode using the bash shell specified above. In this mode, we’re going to change the root password.

In the single user mode, run the command as shown below

chroot /sysroot

password change on centos 7

 

Finally, run the commands below to change the root password.

change password on centos 7

 

You’ll be prompted to create and confirm a new password.  After creating the password, run the commands below to update SELinux parameters

touch /.autorelabel

 

Exit and reboot your system. You should be able to sign on and use the system with the new password you created. That’s how you change the root password on CentOS 7.

Enjoy!

 

 

Protect yourself and your devices with the most trusted internet security software availabe.

Invest in some screen real estate with a new big screen, backlit monitor availabe in five different sizes and price points.

23 thoughts on “How To Reset Your Forgotten Root Password On CentOS 7 Servers”

  1. Thanks for this! It takes a LONG time for the system to finish rebooting after typing ‘reboot’ — at least in VMWare WS 11 running 2+2 cores with 8GB assigned to the VM. In fact, I think it rebooted twice before I could log in.
    So, you should expect quite a wait, maybe dependent on your virtualizer, memory, etc. Thanks again!

    1. Adding the enforcing=0 option enables omitting the time consuming SELinux relabeling process. I’m nearly certain that’s the issue you’ve hit.

  2. I forgot both the user and root passwd for my server installed centOS

    i do the same but it didn’t worked for me :(

    any help..?

  3. Hello,
    I forgot the touch /.autorelable step. :( Now linux doesnt load. What can be done? Trying to load on VM wkstn.

  4. Thanks for the tip. Your screenshot images are https:// URLs which my browser refuses to load. Any reason why these couldn’t be made http://

Leave a Reply

Your email address will not be published. Required fields are marked *