A few days back we looked at how to password protect your GRUB boot entries so that a password is required before anyone can boot the operating system or edit the boot entry.
Let’s look at some ways you can use to reset your Linux system’s password. You might know that the root user can change the password for any other user. However what if you forget your root password? This is what we would attempt to achieve here.
To reset your root password (or any other account’s password for that matter), there are essentially two different situations which require varying approaches.
When you can use GRUB
If you have GRUB installed and you have accesses to edit boot parameters of selected entries then the job is as easy as it can get. Follow along and you shall have root access in no time. Once you have root access you can pretty much do anything you want to do!
- Highlight the GRUB entry for the Linux installation that you want to reset the password for.
- Press ‘e’ to edit. Select the Kernel line. Add ’single’ at the end of the kernel line. Press ‘b’ to boot. If your system still requires you to enter the root password, add init=/bin/bash at the end. Press ‘b’ to boot.
- Either you would be taken to the root prompt directly or shown the recovery menu from where you can choose the root prompt. Use passwd
to change the password for any account.
- Type reboot to reboot the system and then log in in with your new password.
Also, note that some distributions will create a recovery mode entry during install. If you have the recovery mode entry listed in GRUB, you need not do any of the above, just choose the recovery mode and then choose root prompt at the screen that follows.
When you can’t use GRUB
If you are unable to use GRUB for whatever reasons (like password protected entries) you can still reset the password using a Live CD (I will be using Ubuntu Live CD, you may use any other). Just follow the steps below to achieve this:
- Boot from the Live CD
- Choose “Try Ubuntu without any changes to your computer”
- When the system is ready, fire up a terminal window and get ready for some command line action
- Type sudo fdisk -l. In the output we are concerned to know which partition Linux is installed on and what name the hard disk is using. (e.g) in this case it is /dev/sda1 is the required partition. If you are sure about the partition you can skip this step.
- Next we need to mount the Linux partition. Create a directory to act as mount point for the partition. Use ‘sudo mkdir /media/linx_part‘
- Mount the linux partition using the command ‘sudo mount /dev/sda1 /media/linx_part‘
- Change Root to the mount directory - ‘sudo chroot /media/sda1‘
- Type passwd and then enter the new password to change the password.
- Type reboot to restart the system.