Question:
Reset root password in Linux
p00_08_22_05
2005-09-25 00:00:00 UTC
How do I reset the root password in Linux?
Three answers:
Yumes
2005-08-23 14:36:26 UTC
Here's how to do it.


I would have had to dig up the CD's (who knows where they are) and do a recovery that way, or download something from Tom's Root and Boot Site. I had access to the Grub loader, so I had it easy.





If you've lost your root password, you might be able to recover it this way. However, some systems are protected with boot loader passwords that won't let you do that without THAT password. If the boot loader is password protected, you need to boot from other media - for newer systems, the install CD probably has the recovery tools for that ("linux rescue" for example).





But let's try it the easy way first. 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. (More modern 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" 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.





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 knowlege.





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.





If using something like "linux rescue" or other boot media, if the recovery disk doesn't automatically mount your disk, you need to do it manually. This shouldn't be difficult unless you have an unusual disk controller. For example, a Compaq raid controller will probably be /dev/ida/c0d0. Find the partitions by using fdisk /dev/ida/c0d0 (just "p" and quit) and then mount what you need.





If all else 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.
tomchi
2005-08-23 14:35:14 UTC
The basic idea behind this is to boot from the LiveCD, chroot into your system, and run the passwd program to change the root password. Because you are 'inside' the Gentoo environment on your hard drive, your password on your hard drive will be the one that is updated.
lavinia
2016-09-23 21:22:35 UTC
boot device whilst the GRUB menu looks, it would already be on the default OS - if this is not flow it with the arrow keys to the needed OS (no longer in many cases mandatory on a single OS device) press letter "e'' on the keyboard to head into edit mode use arrow keys to choose the kernel line for kernel to be booted press "e" to edit line flow to end of line and style "single" (devoid of rates) as a separate observe press ESC key to go out the edit mode press "b" besides into single consumer mode you need to now be contained in the OS as root (devoid of present day password) Use the command "passwd root" (devoid of the rates) to alter it on your needed password observe that typed passwords in many cases do no longer echo to the exhibit, so style intently in simple terms permit it boot regularly afterwards The GRUB menu will possibly no longer instruct in any respect - press ESC promptly to rigidity it to instruct, then flow the arrow key all the way down to rigidity the holiday of the menu to halt. do no longer forget to flow it back up until eventually now attempting to edit it as above


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...