Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Linux root password recovery in RHEL 6 and other non-systemd systems

News

Booting into Rescue Mode

Recommended Links Grub Boot Directly into a Shell Runlevels mount command Serial console
Troubleshooting Errors in /etc/fstab Mounting partitions with chroot Linux root password recovery /etc/inittab /etc/fstab/ Filesystem mount options Reverting permissions in etc to redhat defaults Mounting Linux filesystems

Sudo

YaST

YaST System Repair

Resetting root password on MySQL Minimalistic and Rescue Linux Distributions

Knoppix Linux

Humor Etc

Introduction

NOTE: This is a procedure for RHEL6. For RHEL7 see Recover the Root Password in RHEL 7

Generally it is highly recommended to configure  Sudo so the wheel group does not require password to get to root. Wheel group should be limited to users who are system administrators of the server. That increases the resilience of the system against lost root password problem without negatively affecting the security of the machine (you need an inside information to know which user belongs to wheel group and the password of the user to get to the root via privileged account).

If you have many servers with different root passwords, using Casio Databank watches is good protection against losing root passwords. The battery last 10 years, so you should not worry about finding that when you need the data the washes have no battery life left, as can happen with smartwatches. Please note that storing  passwords on a cell phone or smart watches or any device connected to the Net is not a good idea.

Paper works OK too (contrary to opinion in the popular security literature). They key issue here is store if in a safe place (envelope in protected box or safe are OK). Efforts to open the safe and get the password are minor then efforts of the recovery of password for a remote server.  See Password Policy for more information.

Four options of recovering root password in RHEL 6 and similar systems with old grub and no systemd

If the root password is lost, there are four main options:

  1. Adding init=/bin/bash trick in grub.  This is a classic method for Red Hat.  This method has an important advantage over booting from rescue dist or CD distribution: if you root partition is an LVM partition it will be mounted correctly.
  2. Booting into single user mode by adding 1 to the grub kernel option command line  and hoping that it is not password protected. Various distribution configure single user mode differently. SLES and RHEL require password, but SLES accepts Enter as a password in single user mode (unless you set empty password in /etc/shadow in your previous attempt; then you are screwed and need to use CD-based distro).
    • While you system is starting up, hold down the Ctrl key or Esc to see the boot loader menu. After you see the menu. After that:
    • Use the arrows to select the boot entry you want to modify.
    • Press e to edit the entry.
    • Use the arrows to go to rescue system kernel line.
    • Press a or e to append this entry.
    • At the end of the line add the word single or the number 1.
    • Press Enter to accept the changes.
    • Press b to boot this kernel.
  3. Booting into recovery mode from the rescue disk and mount the disk with root filesystem. This is the only method is you have other problems along with lost root password. It is more difficult if you use LVM for root filesystem and that's why generally it is better to use regular partition for root.
  4. You can add another account and enroll it in wheel group setting for wheel group members the ability to execute any command as root without password. This way it you forget root password you still can get to it from you user account.  

Adding init=/bin/bash trick in grub (Classic method for RHEL6)

In case single user mode is password protected you need to add  init=/bin/bash to the grub kernel command line.  It is very similar to previous, but instead of appending 1 you append  init=/bin/bash  Alternatively and less intuitively can all add 1 to the line:

First, try single user. If you don't see either a LILO or GRUB boot screen, try hitting CTRL-X to get one. If it's LILO, just type "linux single" and that should do it (assuming that "linux" is the lilo label). If GRUB, hit 'e", then select the "kernel" line, hit "e" again, and add " single" (or just " 1") to the end of the line. Press ENTER, and then "b" to boot. (Newer version of grub uses "a" to append to the boot line)

If you do get the prompt, the root filesystem may not be mounted rw (although "mount" may say it is). You need to remount it with the command:

mount -o remount,rw /

If that doesn't work (it might not), just type "mount" to find out where "/" is mounted. Let's say it is on /dev/sda2. You'd then type:

mount -o remount,rw /dev/sda2

Type 'e' to edit the boot entry, select the kernel line and press 'e' again, then type "init=/bin/bash", enter, press 'b' to boot it. You end up at a root prompt with root filesystem mounted read-only. (depending on the distro, you might need /bin/sh instead)

# mount / -o remount,rw 
	# passwd 
	<change your root password here> 	

Remount the filesystem back to read/only (to flash buffers):

# mount -o remount,ro /

Try to reboot.  Generally it is better to do it from DRAC or ILO as the command reboot does not always work as you are not in init. If reboot does not work you can try ctrl-alt-del.  Do not type exit: that leads to kernel  panic -- bash is init and it is interpreted as an attempt to kill init.

Switching to a single user mode it it is not password protected (works for SUSE)

The first thing to try is to boot to single user mode and check if your system was configured to ask for a root password to get to single user mode.

When presented with the grub boot menu, select your choice, then hit 'e' to edit instead of Enter.

Then scroll down to the line it displays with 'kernel /boot/kernel-X.Y.Z ....' and enter  'e' to edit it.

Scroll to the end of the line and append a 1 ( put a space after the last symbol on the line, no quotes). Then put Enter. This tells the kernel to boot into runlevel 1, the single user level.

If you are just having problems with X (can't login to via X11) you can append 3. That will get you to the command line mode.

Enter 'b' to boot using this new configuration. Note that this is a temporary change to your grub configuration. Upon next reboot the 1 will not be there and the system will be booted with default options.

You should get a fairly normal looking boot sequence except that it terminates a little early at a bash prompt. If you get a "Give root password for system maintenance", this isn't going to work. If you are lucky you will be presented with a root prompt (/bin/bash). Even if it asks password (SLES does) it might accept zero length password. Hit Enter to try.

On many distros the 'single' or 'rescue' boot will still ask for a password. You can get around this by starting linux without starting init, just launch a shell instead (this is classic way to reset root password for RHEL6  above).

Booting from the rescue disk, mounting and chrooting root filesystem

The strategies for setting a new root password also can vary.

Creating a new account and adding it to wheel group instead of resetting root password

NOTE: If nonroot account have a known password you can copy it to root account in /etc/shadow.


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News ;-)

Recover Root Password

openSUSE

Set Root Password

If you've lost your root password, you might be able to recover it using the steps below. However, some systems are protected with boot loader passwords that will not let you do that without THAT password. If the boot loader is password protected, you need to boot from other media Like the OpenSUSE CD/DVD/mini-boot. OpenSUSE install CD is probably the best one to use.

CD/DVD Recovery Mode

If using CD/DVD boot media, You need to choose Rescue System. You enter root and then mount the disk manually. For example, a Compaq raid controller will probably be /dev/ida/c0d0 or an IDE drive will be /dev/hda1. Find the partitions by using fdisk /dev/ida/c0d0 or fdisk /dev/hda (just "p" and quit) and then mount what you need.

mount -o remount,rw /dev/sda2 /mnt
# cd /mnt
# chroot /mnt
# passwd

For 10.3, you need somemore steps:

Start the rescue system. Find the disk root partition, then, assuming its hdxy (or probably sdxy):

mount /dev/hdxy /mnt
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt

you are root in the installed sytem, with all at hand: passwd, but also YaST...

"bind" allow using two mount points for system virtual folders.

If all fails, consider that you can pull this drive (or install another drive in this machine) and mount it from another running Linux. Then recover the root password as explained above.

Single User Mode

The first thing to try is to boot to single user mode. This MIGHT not work for you, because your system might be configured to still ask for a root password to get to single user mode. If that's the case, we'll use another trick that replaces init with /bin/bash.

First, try single user. If you don't see either a LILO or GRUB boot screen, try hitting CTRL-X to get one. If it's LILO, just type "linux single" and that should do it (assuming that "linux" is the lilo label). If GRUB, hit 'e", then select the "kernel" line, hit "e" again, and add " single" (or just " 1") to the end of the line. Press ENTER, and then "b" to boot. (Newer version of grub uses "a" to append to the boot line)

You should get a fairly normal looking boot sequence except that it terminates a little early at a bash prompt. If you get a "Give root password for system maintenance", this isn't going to work, so see the "init or /bin/bash" version below.

If you do get the prompt, the / filesystem may not be mounted rw (although "mount" may say it is). Do

mount -o remount,rw /

If that doesn't work (it might not), just type "mount" to find out where "/" is mounted. Let's say it is on /dev/sda2. You'd then type:

mount -o remount,rw /dev/sda2

If you can do this, just type "passwd" once you are in and change it to whatever you like. Or just edit /etc/shadow to remove the password field: move to just beyond the first ":" and remove everything up to the next ":". With vi, that would be "/:" to move to the first ":", space bar once, then "d/:" and ENTER. You'll get a warning about changing a read-only file; that's normal. Before you do this, /etc/shadow might look like:

root:$1$8NFmV6tr$rT.INHxDBWn1VvU5gjGzi/:12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

and after, the first few lines should be:

root::12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

You'll need to force the write: with vi, ":wq!". (If that still doesn't work, you needed to do the -o remount,rw, above).

INIT or /bin/bash Mode

Another trick is to add "init=/bin/bash" (LILO "linux init=/bin/bash" or add it to the Grub "kernel" line). This will dump you to a bash prompt much earlier than single user mode, and a lot less has been initialised, mounted, etc. You'll definitely need the "-o remount,rw" here. Also note that other filesystems aren't mounted at all, so you may need to mount them manually if you need them. Look in /etc/fstab for the device names.

Keep this in mind if you have a Linux machine in a publically accessible place : without more protection, it's not usually hard to recover a lost root password, which means it's just as easy for someone to CHANGE it, or access root without your knowledge.

Another way to do this is to remove the password from /etc/shadow. Just in case you screw up, I'd copy it somewhere safe first. You want to end up with the root line looking something like this:

Original line:

root:$1$EYBTVZHP$QtjkCG768giXzPvW4HqB5/:12832:0:99999:7:::

After editing:

root::12832:0:99999:7:::

If you are having trouble with editing (you really do have to learn vi one of these days), you could just (after making a copy, of course) just

 echo  "root::12832:0:::::" > /mnt/etc/shadow 

or, if you were in single user mode

 echo  "root::12832:0:::::" > /etc/shadow 

and then fix things up when rebooted.

Howtos Reset A Forgotten Root Password - 5dollarwhitebox.org Media Wiki

In Grub : Once you're at a /bin/bash prompt...

Remount the filesystem read/write (will be ro when bin/bash'ing):

# mount -o remount,rw /

Then change the passwd: # passwd root

Remount the filesystem back to read/only (keep things clean):

# mount -o remount,ro /

Then CTR-ALT-DELETE (though this will result in a kernel panic most likely). After rebooting the system and you should be good to go.

Lost Root Password Linux

First, try single user. If you don't see either a LILO or GRUB boot screen, try hitting CTRL-X to get one. If it's LILO, just type "linux single" and that should do it (assuming that "linux" is the lilo label). If GRUB, hit 'e", then select the "kernel" line, hit "e" again, and add " single" (or just " 1") to the end of the line. Press ENTER, and then "b" to boot.

You should get a fairly normal looking boot sequence except that it terminates a little early at a bash prompt. If you get a "Give root password for system maintenance", this isn't going to work, so see the "init" version below.

If you do get the prompt, the / filesystem may not be mounted rw (although "mount" may say it is). Do

mount -o remount,rw /

If that doesn't work (it might not), just type "mount" to find out where "/" is mounted. Let's say it is on /dev/sda2. You'd then type:

mount -o remount,rw /dev/sda2

If you can do this, just type "passwd" once you are in and change it to whatever you like. Or just edit /etc/shadow to remove the password field: move to just beyond the first ":" and remove everything up to the next ":". With vi, that would be "/:" to move to the first ":", space bar once, then "d/:" and ENTER. You'll get a warning about changing a read-only file; that's normal. Before you do this, /etc/shadow might look like:

root:$1$8NFmV6tr$rT.INHxDBWn1VvU5gjGzi/:12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

and after, the first few lines should be:

root::12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

You'll need to force the write: with vi, ":wq!". (If that still doesn't work, you needed to do the -o remount,rw, see above).

Another trick is to add "init=/bin/bash" (LILO "linux init=/bin/bash" or add it to the Grub "kernel" line). This will dump you to a bash prompt much earlier than single user mode, and a lot less has been initialized, mounted, etc. You'll definitely need the "-o remount,rw" here. Also note that other filesystems aren't mounted at all, so you may need to mount them manually if you need them. Look in /etc/fstab for the device names.

See also
http://aplawrence.com/Bofcusm/861.html
http://aplawrence.com/Bofcusm/872.html
http://aplawrence.com/Bofcusm/873.html

FedoraProject

While your system is starting up, hold down the Ctrl key or Esc to see the boot loader menu. After you see the menu:

A series of text messages scrolls by and after a short time, a root prompt appears awaiting your commands (#).

Howtos Reset A Forgotten Root Password

5dollarwhitebox.org Media Wiki

In Grub :

Once you're at a /bin/bash prompt...

Remount the filesystem read/write (will be ro when bin/bash'ing):

# mount -o remount,rw /

Then change the passwd: # passwd root

Remount the filesystem back to read/only (keep things clean):

# mount -o remount,ro /

Then CTR-ALT-DELETE (though this will result in a kernel panic most likely). After rebooting the system and you should be good to go.

Lost Root Password Linux

First, try single user. If you don't see either a LILO or GRUB boot screen, try hitting CTRL-X to get one. If it's LILO, just type "linux single" and that should do it (assuming that "linux" is the lilo label). If GRUB, hit 'e", then select the "kernel" line, hit "e" again, and add " single" (or just " 1") to the end of the line. Press ENTER, and then "b" to boot.

You should get a fairly normal looking boot sequence except that it terminates a little early at a bash prompt. If you get a "Give root password for system maintenance", this isn't going to work, so see the "init" version below.

If you do get the prompt, the / filesystem may not be mounted rw (although "mount" may say it is). Do

mount -o remount,rw /

If that doesn't work (it might not), just type "mount" to find out where "/" is mounted. Let's say it is on /dev/sda2. You'd then type:

mount -o remount,rw /dev/sda2

If you can do this, just type "passwd" once you are in and change it to whatever you like. Or just edit /etc/shadow to remove the password field: move to just beyond the first ":" and remove everything up to the next ":". With vi, that would be "/:" to move to the first ":", space bar once, then "d/:" and ENTER. You'll get a warning about changing a read-only file; that's normal. Before you do this, /etc/shadow might look like:

root:$1$8NFmV6tr$rT.INHxDBWn1VvU5gjGzi/:12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

and after, the first few lines should be:

root::12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::

You'll need to force the write: with vi, ":wq!". (If that still doesn't work, you needed to do the -o remount,rw, see above).

Another trick is to add "init=/bin/bash" (LILO "linux init=/bin/bash" or add it to the Grub "kernel" line). This will dump you to a bash prompt much earlier than single user mode, and a lot less has been initialized, mounted, etc. You'll definitely need the "-o remount,rw" here. Also note that other filesystems aren't mounted at all, so you may need to mount them manually if you need them. Look in /etc/fstab for the device names.

See also
http://aplawrence.com/Bofcusm/861.html
http://aplawrence.com/Bofcusm/872.html
http://aplawrence.com/Bofcusm/873.html

Resetting the Root Password

Linux Journal

The following methods can be used for resetting the root password if the root password is unknown.

If you use GRUB for booting, select the system to be booted, and add 1 to the end of the kernel boot command. If you're not presented with an edit "box" to add boot parameters, try using GRUB's edit command (the letter e). The 1 tells the kernel to boot to single-user mode.

The system now should boot to a root prompt. At this point, simply use the passwd command to change the root password.

Another option is to boot a rescue CD or an installation CD that lets you get to the command line. Once you're at a command prompt, mount the system's root directory if it's not already mounted:

$ mkdir /mnt/system
$ mount /dev/sda1 /mnt/system

Now, do a chroot and reset the password:

$ chroot /mnt/system
$ passwd

lostlinuxpassword.html

Using Grub To Change RedHat Linux's Root Password

08/06/2008 | The Linux and Unix Menagerie

- Thanks for this Additional Useful Information From zcat:

On many distros the 'single' or 'rescue' boot will still ask for a password. You can get around this by starting linux without starting initd, just launch a shell instead; and it's blindingly fast.

'e' to edit the boot entry, select the kernel line and press 'e' again, then type "init=/bin/bash", enter, press 'b' to boot it. You end up at a root prompt with / mounted read-only. (depending on the distro, you might need /bin/sh instead)

# mount / -o remount,rw
# passwd
<change your root password here>
# mount / -o remount,ro
<three-finger salute or hit the reset button>


It's also useful for fixing up boot problems, if you're silly enough to have put commands in various init scripts that don't actually exit or daemonize...

shutting down after init=-bin-bash - LinuxQuestions.org

By the way, when you do init=/bin/sh (or bash), it isn't strictly necessary to reboot afterwards (well, depending on what you change I suppose), you can just do an 'exec /sbin/init' to continue the boot process. Make sure the state of the system is as it would normally be though (e.g. umount /usr, make / readonly again etc).

Recommended Links

Google matched content

Softpanorama Recommended

Top articles

Sites



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: December 28, 2020