Sunday, November 15, 2009

Recover root password in Linux

It happens sometime that you can't remember root password.
On Linux, recovering root password can be done by booting Linux under a specific mode:
single user mode.
This tutorial will show how to boot Linux in single user mode when
using GRUB and finally how to change root password.

During normal usage, a Linux OS runs under runlevels between 2 and 5 which corresponds
to various multi-user modes.

Booting Linux under runlevel 1 will allow one to enter into a specific mode,
single user mode. Under such a level, you directly get a root prompt.

Steps Involved are
==================
1. Entering runlevel 1
Some Linux distribution, such as Ubuntu for instance, offer a specific boot menu entry where it is stated "Recovery Mode" or "Single-User Mode". If this is your case, selecting this menu entry will boot your machine into single user mode, you can carry on with the next part. If not, you might want to read this part.

Using GRUB, you can manually edit the proposed menu entry at boot time. To do so, when GRUB is presenting the menu list (you might need to press ESC first), follow those instructions:

use the arrows to select the boot entry you want to modify.
press e to edit the entry
use the arrows to go to kernel line
press e to edit this entry
at the end of the line add the word single
press ESC to go back to the parent menu
press b to boot this kernel
The kernel should be booting as usual (except for the graphical splash screen you might be used to), and you will finally get a root prompt (sh#).

Here we are, we have gained root access to the filesystem, let's finally change the password.

2. Changing root password
As root, changing password does not ask for your old password, therefore running the command: #passwd