One method to recover a lost root password

Derekj Tourneo derekj at
Fri Mar 16 21:04:52 UTC 2007

How I recovered a lost root password in FreeBSD

This was on a CyberGuard LX firewall, running version 4.2 BSD

Luckily I did know one user name and it had no password.

Using the boot CD, pick option 4 for single use mode
going through the country and keyboard

going to the repair mode with CDROM/DVD option off the install menu, 
using the "live" CDROM  filesystem gave me a root prompt  Fixit#

now mounting the hard drive, in my case /dev/ad0s3a

	mount /dev/ad0s3a /mnt

now edit the master password file

	vi /mnt/etc/master.passwd

on the root line, delete all characters between the first two ::  to remove
the root password altogether.
hence ending up with
root::0:0::00:Charlie &:/root:/bin/csh            or something similar

save the file

now change permissions, but look at them first, make a note so you can put
them back to the correct setting later
chmod  777 /mnt/etc
chmod 666 /mnt/etc/master.passwd


remove the CD and reboot the original system.  
For some reason my older FreeBSD version 4.3 filesystem did not like being
mounted onto a FreeBSD 6.1 install CD
Hence on reboot it made me do a manual fsck
Then another reboot

Now login as a user, cgadmin in my case
get a prompt and run

	pwd_mkdb /etc/master.passwd

This rebuilds the secure password database

Now get another getty - say Alt-F4 and login as root

Reboot if you like, set yourself a new root password and write it down this
I prefer a label on the bottom of the box, because if you have got this
access, you can crack the password.

Now don't forget to set the file security back to where it was
chmod 755 /etc
chmod 600 /etc/master.passwd

Hope you enjoyed the day.


No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.11/723 - Release Date: 15/03/2007

More information about the freebsd-hackers mailing list