Resetting the root password on a Solaris server
I had to use the following step to reset a the root password on a Solaris system the other day. You will need physical access to the system to use these steps.
- Press Stop-A on the console or Ctrl-] and send brk from a remote console connection to access the Open Boot PROM (OBP).
NOTE : If you are using TeraTerm-Pro, you send a break from the menu.
- Insert a bootable Solaris CD/DVD and boot into single-user mode with boot cdrom -s
If a JumpStart boot server is located on the system’s subnet, and the system was properly configured for JumpStart, you may instead boot over the network into single-user mode with boot net -s
- Make a mount point within the /tmp file system by typing mkdir /tmp/mnt
- Mount the root partition of your boot disk in /tmp/mnt
e.g. #> mount /dev/dsk/c0t0d0s0 /tmp/mnt
NOTE : To check the device name use the format command.
- Edit /etc/shadow with TERM=vt100 vi /tmp/mnt/etc/shadow
- Remove the encrypted part of the root password (the second field; fields are separated by colons), save, and exit.
- Unmount the file system with umount /tmp/mnt
- Reboot the system and assign a new password at a shell prompt with the passwd command.
If you are unable to run vi above, you can edit /etc/shadow using the ed editor.
# ed /tmp/mnt/etc/shadow
s/:………….:/::/ (Note: there are 13 dots in the second field)