Wednesday, August 22, 2007

recover root password on linux

Finally, the well known root password recovery is here to stay.

This old time favorite superuser root password recovery in linux comes as handy as a toolbox. Recovering root password in linux is as handy as newbie users during the very first linux installations.

The simplest way to recover root password before kernel can be accomplished with the following steps.

A. If you are sure you do not have any grub or lilo password set, basically you do not need to boot from boot CD or DVD. Without grub or lilo password set, recovering linux root password is as easy as booting the linux kernel into its linux single mode.

This linux single mode basically loads up minimal boot up sequence and drops you to a root shell. One way to boot from linux single mode is by passing an kernel arguments before kernel boot up.

How to make kernel boot into linux single?
How to pass kernel arguments before bootup?

During bootup, by default installation, Fedora, CentOS, and RedHat prompts for a few seconds before booting its linux kernel. This is a chance for the user to edit any needed kernel arguments before the normal kernel boot up process.

You must hit any key from this prompt. Then select the line that starts with kernel. From this line, press the letter 'e' for editing and appending additional kernel parameters. Our intention here is to pass additional kernel parameter called 'linux single'. You will be taken to boot menu list from where you can now append the below line:

linux single

This parameter boots the kernel in linux single mode. As an example
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
title Fedora 7 (2.6.21-1.3194.fc7)
root (hd0,0)
kernel /vmlinuz-2.6.1.3194.fc7 ro root=/dev/VolGroup00/LogVol00 rhgb quiet linux single
initrd /initrd-2.6.1.3194.fc7.img
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Noticed the a bold emphasis from the kernel line with 'linux single' or 'single' kernel parameter. After passing the linux single word, hit 'b' or Enter key to normally resume kernel boot up process. You will dropped into normal shell prompt. At this point, you are the superuser root. Issue

# passwd

to set a new root password like so

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Changing password for user root.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

After succesfully changing root password, reboot properly by issuing

# reboot

This would reboot your system. You can now use your new root password


B. If you happen to have a grub or lilo password, a boot CD/DVD or disk 1 of your linux installation is required to achieve the same steps of changing your root password. Alternatively, you can boot from other linux OS like Knoppix or any LIVE CD / LIVE DVD, as long as it matches your box architecture.

All you need to do is insert your bootup CD or DVD from your CD/DVD drive and boot from the CD/DVD drive. Any attempt to boot from this first installation CD would take you to a startup menu wherein you can also pass additional kernel parameters.

From there, pass the required 'linux single' kernel parameter. This would also take you to normal shell prompt wherein you can issue the linux command passwd to change your root password. After this, simply issue the linux command reboot.

The above approach works all the time.

You are now back with your newly changed root password after booting up normally.

0 comments:

Sign up for PayPal and start accepting credit card payments instantly.
ILoveTux - howtos and news | About | Contact | TOS | Policy