10 ways of resetting a lost linux root 
password####################################################
 A good password has the problem of being difficult to remember. And sometimes 
you might need to get in to a system where the root password is long forgotten 
(or left with the system administrator before you).Luckily there are ways of 
getting access to systems without having the password. This is of course in a 
sense also a security risk. That's why you should always be aware that having 
unattended physical access to a computer system means the same as having root 
access to the operating system. Unless the information on a system is 
encrypted, it's only as save as the room it's in.
The method to use to reset the password if you lost the root (or only) password 
depends on the configuration of your system. But it mostly comes down to two 
separate tasks:
- get write access to the root partition
- change the password/circumvent control
Here are some things you can try from easy to more 
complicated.##############################
1.booting into single user mode from the start menu
Some systems are configured to drop you into root shell without a password if 
you reboot them in single user mode. If your system has an option called single 
or recovery mode changes are it will drop you directly to the root prompt or as 
I know ubuntu does it serves up a menu with 'drop to root shell prompt' as an 
option. Sometimes you have to hit escape at startup to enter the boot menu.Once 
in the root shell it's as easy as typing passwd followed by your username and 
the passwd program will ask you for the new password. passwd without a name 
will change the root password.If you don't know the username anymore you can do
#cat /etc/ passwd this prints the password text file where every entry before 
the : is a valid username
or
#ls /home which will give you the username of the users on the system with a 
home directory (if the default home path is used)
If you have a system which has this boot option and you think this is just a to 
obvious security risk (don't want your little sister to change your root 
password) you can easily remove this option by editing the file 
/boot/grub/menu.lst (if you use the grub boot loader) or /etc/lilo.conf (if you 
use lilo)If you use Ubuntu you can set passwords for the menu options in the 
startup-manager from the administration menu security tab or remove the option 
in the advanced tab.Grub and Lilo both have password optionsto password protect 
grub create a md5 hash of your password ( #/sbin/grub-md5-crypt ) and edit the 
file /boot/grub/grub.conf add below the line timeout the following line:
password --md5 password-hash-here
grub configuration should be user root group root and 600 permissions.
to password protect boot menu entries just enter lock below the title line in 
the /boot/grub/menu.lst file
for protecting lilo edit the /etc/lilo.conf file before the first image stanza 
place the option
password=clear-text-password
#####################################################################################
2. booting into single user mode when there's no menu entry at startup
If there's no single or recovery option in the boot menu you can still boot 
into single mode by editing the startup entry. To do this in grub, while in the 
menu press 'e' this will let you edit the menu entries. Just append single to 
the line starting with kernel. press 'b' and the system will boot into single 
mode.If your boot manager is Lilo you can pass Linux 1 or Linux emergency as 
boot parameters.This approach won't help you on all systems because many 
systems will ask you for the root password when booting into single user 
mode.(Debian does)
####################################################################################################3.
 boot to root shell by using shell as init
If the single user mode has been disabled or is password protected just press 
'e' in the grub boot menu and add init=/bin/bash (or any other shell 
executable) to the kernel line. Press 'b' to boot and you'll get a root shell 
because the init process is replaced with bash while booting. This gives you a 
rather limited shell but it's good enough, depending on your system 
configuration you might have to mount the root partition read/write before you 
can change the password. Do this by entering
#mount -no remount,rw /
After that you can use passwd again as in previous examples.
If your startup manager is Lilo you can give the boot parameters Linux 
init=/bin/bash
##########################################################################################################
4. boot from alternative file system
This method is much less likely to be available as it requires some kind of 
"alternative file system" to be available. If you have non-root access and 
there is a writable partition (/tmp for instance) and you can place a linux 
file system relative to that partition for instance by downloading a minimal 
linux distro and unpacking it you can then give the root= option to grub and 
set the partition where you placed your own file system as root file 
system.Executing the mount command will show the available partitions and how 
they are mounted. This will only work in very specific circumstances though.
############################################################################################################5.
 boot from a bootable usb stick
If you have no way to access single user mode from the boot menu, or if your 
single user mode is password protected, you can still use an alternative boot 
medium. Many systems these days provide a boot option for booting from a usb 
stick. This is actually a very easy method. The access of boot sequence menu 
differs by system, most systems display a text like press esc to enter boot 
menu or something like that. Sometimes the system is already configured to try 
booting from removable medium first. Many systems also allow changing the boot 
sequence from the bios. Just change the boot sequence of the system to boot 
from usb or choose that option from the boot menu. This does require you to 
have a boot-able usb stick of course. There are many ways to make a usb stick 
boot-able one of them is described in my article about backtrack, which makes a 
great distro to use for this purpose by the way.. Just boot from the usb 
device, and open a root shell. The next
 thing you have to do is find out which is the root partition. Use fdisk to 
list the available partitions:
#fdisk -l
This will show the disks available.You can mount them with the mount command. 
First create a directory mkdir /newdir or mount the partition on an existing 
directory. Then mount the partition you think is the root.
#mount -o,rw /dev/hda1 /newdir
if mount complaints you have to specify partition type, you find the type as a 
letter/number combination where it says Id. To show a list of partition type 
name/Id combinations use /sbin/sfdisk -T
in this case use mount with -t option:
#mount -o,rw -t ext3 /dev/hda1 /newdir
check if it's the right one with ls:
#ls /newdir (should list a root filesytem)
if it is the wrong partition, just do umount /newdir to unmount it and redo the 
previous steps with another partition from the list.
If it is the right partition use chroot:
#chroot /newdir
this will make the newdir your root dir
and then enter passwd to change the root password and reboot your system.
#######################################################################################################
6. boot from CD
This is basically the same as option 5 but requires you to have a Linux live-cd 
or rescue-cd. Most linux installation cd's double as recovery cd's by giving 
you a rescue option at boot or some drop to root shell menu option anywhere in 
the process. You do need to have a cd/dvd player installed to use this option. 
The method is exactly the same as in option 5. There are a lot more systems 
that allow booting from cd/dvd (most older pc's do) than from usb this makes it 
a more viable approach.
#########################################################################################################
7. boot from network
Difficult to do in many cases, but if you have access to the bios or the system 
is already configured to try booting from the network, and you have a system 
which you can configure as a boot server, it's more or less the same story as 5 
and 6. Boot the system into a OS where you have root access and mount the disk, 
chroot and you are in.
If you can't access the BIOS to change the boot sequence because it's password 
protected, try searching Google for the master password for your BIOS. Or you 
can try removing the BIOS battery the BIOS battery is located on the 
motherboard and is there to keep the BIOS memory as the power is taken of the 
system. Unplug the system, remove the battery and wait for about 120 seconds. 
Be warned this will flush all BIOS information (configuration) most systems 
will boot fine when you reload default BIOS settings (not all). Some 
motherboards have jumpers for resetting BIOS, if you have the motherboard 
manual you can look it up. Laptops are sometimes equipped with security 
features which make flushing BIOS impossible or even render the system 
completely useless when trying to reset BIOS.
##########################################################################################################8.
 place an extra disk in the machine
In most cases the BIOS will auto-detect a new disk, so if you place a new disk 
containing a boot-able OS and make it the master and the old disk slave, you 
can make the system boot from the new disk.
#######################################################################################################9.
 remove the disk and place it in another machine
If you can't do any of the above you can always take out the disk and place it 
in another Linux system. Than you can mount it, chroot to the disk and again 
use passwd to change the root password. Place back the disk and start the 
machine.
##########################################################################################################10.
 Try to gain root trough known vulnerabilities
If the system has been running for a long time (or not running) without anyone 
maintaining it, there's a change it's running a vulnerable service. This would 
probably take a lot of time to do. Try fingerprinting the system for running 
network services that have not been security patched. If there is a easy root 
exploit to run against the machine it might be possible to get in this way.
Securing your system
Securing yourself against all these options is very difficult. You can remove 
all removable medium drives, CD/DVD, diskette, fill your usb ports with glue, 
passwords on everything. The only real protection is encrypted disks on every 
device you can't keep in a secure environment. If someone gains unattended 
physical access to your systems they have access to your data.
What you can do is make it very difficult, secure access to your computers as 
much as you think is appropriate considering the sensitivity of your data. When 
it comes to mobile devices, laptops netbooks and the like you should carefully 
consider what would happen if it gets lost or stolen and someone has access to 
all your data. Very good Encryption programs are freely available for Linux and 
you can even choose to encrypt your whole system, in some distributions this is 
an install option.Think there is more to try? Easier ways? Think there are 
better ways to protect against it? Mistakes? Leave a comment. It can take a 
while before comments are published(different time zone)
Linux DonDinesh Jadhav(RHCE)9867011640"Do not worry about anything; instead 
PRAY ABOUT EVERYTHING." 
Philippians 4:6


      Yahoo! recommends that you upgrade to the new and safer Internet Explorer 
8. http://downloads.yahoo.com/in/internetexplorer/

[Non-text portions of this message have been removed]

Reply via email to