Wednesday, December 10, 2014

Reset root password in Ubuntu, Debian, Kali, CentOS or pretty much any Linux distributions

http://www.blackmoreops.com/2014/12/08/reset-root-password-in-linux

Forgetting root password is an hassle. We try to be vigilant with our security and set a complex root password. We also try not to login using directly into root account (in most production boxes) and use sudo instead. So it’s not very unlikely to loose your root password and depending on how you’ve setup your access, your just might not be able to reset it using sudo passwd root/someusername. Following post shows you two different ways to reset root password in Ubuntu, Debian, Kali, CentOS or pretty much any Linux distributions

Reset root password in Linux- blackMORE Ops - 1

Reset root password in Linux


Option 1: Reset root password from Grub


Step 1.1: Boot in to GRUB menu

Boot to the GRUB menu. Then, press e (for edit) before Linux has a chance to boot. (Most standard installation will allow you 5 seconds to choose and Boot option is Grub, so you’ve got plenty of time)

Step 1.2: Edit GRUB menu

Using your keyboard arrow keys, move the cursor down a line or so, and press e (for edit) again, you should now be on the kernel line, and press End to go out to the very end of that line. Now hit the space-bar once, if necessary, to add a space, and then add one of the following:
init=/bin/bash
(or)
init=/bin/sh
Then press Enter, and you’re back at the kernel line, press b (for boot) and the computer will proceed to boot to a root prompt.

Step 1.3: Remount filesystem as Read/Write to save changes

At this point, the root file system is still mounted read-only, so enter the following command:
mount -n -o remount,rw /

Step 1.4: Reset root password / Change password

Then type:
passwd
Enter your new password. Retype if asked to confirm. Change your pw with a passwd command. If you’re not sure, man passwd should help.

Step 1.5: Reboot and off you go

Then restart the machine by typing:
reboot
Now you should be able to login with your new root password as required.

Reset root password in Linux- blackMORE Ops - 2

Option 2: Reset root password using a Live CD/DVD or Live USB

Using a Live Linux CD/DVD or Live USB is another option to reset root password if you’ve uncomfortable using Grub menu.
Following is what you do:

Step 2.1: Boot Computer using any Live Linux CD/DVD or USB

Start up the computer with a Linux live CD (or USB key). You can use any Linux distro such as Debian, Ubuntu or even Kali.

Step 2.2: Mount Filesystem

Using the Disk Utilities available from your device, mount the partition that hosts your /etc folder (probably marked as bootable).
Ideally following command does the trick
mount auto /dev/sdaX /mnt
(or)
sudo mount auto /dev/sdaX /mnt 
Where sdaX or similar is the partition that contains /etc folder.

Step 2.3: Identify correct shadow file in correct /etc folder

In a command line, go to ./etc under your mounted partition, probably in /mnt and contains a long hd id-like number. Notice the dot . before ./etc; don’t go to /etc. You can check that you’re in the right folder with grep -i [name of a user of yours (not root!)] shadow command. If you get anything, you’re in the right folder and you can proceed to Step 4.

Step 2.4: Make a backup of the shadow file

Just to be safe, make a backup copy of your shadow file. I used cp ./shadow /media/[an inserted and mounted USB key]/shadow command.

Step 2.5: Open shadow file using any text editor

Using your favorite text editor (vi, nano or pico), edit your shadow file
vi shadow (or) 
nano shadow (or) 
pico shadow

Step 2.6: Locate the root line

Locate the root line. It’ll look something like root:[encrypted pw]:12345:5:99999::: (You’ll have a some random numbers is there)

Step 2.7: Replace encrypted password line

Replace the [encrypted pw] part of the line with a single ! exclamation mark without double quotations. That tells Linux to authorize the mentioned user to access the system with no pw, so be cautious ! Your line will then look something like root:!:12345:5:99999:::

Step 2.8: Save changes

Save your changes and exit the command line

Step 2.9: Unmount the partition

Back to your Disk Utilities program, unmount the partition you mounted in step 2 above.
umount /dev/sdaX 
(or)
sudo umount /dev/sdaX 
Where sdaX or similar is the partition that contains /etc folder.

Step 2.10: Poweroff and remove boot media

Poweroff your computer and remove all media, may it be USB key, CD, or whatever.

Step 2.11: Restart and boot into rescue mode

Now start/restart your computer and, in the grub menu, choose rescue mode. You’ll find yourself in a command line of a root session with no pw.

Step 2.12: Reset root password / Change password

Change your password with a passwd command. If you’re not sure, man passwd should help.
Once done, you can restart again and now you should be able to login as root user from terminal (maybe not from SSH depending on how you’ve configured your SSH server).


So there you go, two options to reset root password in Ubuntu, Debian, Kali, CentOS or pretty much any Linux distributions.

No comments:

Post a Comment