X

Paulie's world in a blog

  • February 11, 2013

Recovering Passwords in Solaris 11

Guest Author
About once a year, I'll find a way to lock myself out of a Solaris system. Here's how to get out of this scenario. You'll need a Solaris 11 Live CD or Live USB stick.
  • Boot up from the Live CD/USB
  • Select the 'Text Console' option from the GRUB menu
  • Login to the solaris console using the username/password of jack/jack
  • Switch to root
  • $ sudo su
    password jack
  • Mount the solaris boot environment in a temporary directory
  • # beadm mount solaris /a
  • Edit the shadow file
  • # vi /a/etc/shadow
  • Find your username and remove the password hash
  • Convert
    username:iEwei23SamPleHashonf0981:15746::::::17216
    to
    username::15746::::::17216
  • Allow empty passwords at login
  • $ vi /a/etc/default/login
    Switch this line
    PASSREQ=YES
    to
    PASSREQ=NO
  • Update the boot archive
  • # bootadm update-archive -R /a
  • Reboot and remove the Live CD/USB from system
  • # reboot

    If prompted for a password, hit return since this has now been blanked.

Join the discussion

Comments ( 5 )
  • Alan Hargreaves Monday, February 11, 2013

    Rather than allowing no passwords and clearing the root password, why not grab a password hash from an account you know the password to. If none, handy, copy the one for jack from teh live cd. Of course you should change it right away, but the idea of root having no password at all, even for a little while sends shivers up my spine.

    alan.


  • guest Thursday, February 21, 2013

    Thank you for this info, but what happens when I get the below message?

    root@solaris:/jack# beadm mount solaris /a

    be_mount: failed to find zpool for BE (solaris)

    Unable to mount solaris.

    solaris does not exist or appear to be a valid BE.

    Please check that the name of the BE provided is correct.

    root@solaris:/jack#


  • paulie Thursday, February 21, 2013

    Your boot environment (BE) might not be called solaris. Run `beadm list` to discover its name.


  • guest Monday, May 27, 2013

    Thank you for "beadm list" command, but it gives this:

    be_find_current_be: failed to find current BEname

    be_list: No BE's found

    No boot environments found on this system.

    But i am positive that there is installed Solaris 11 on the harddrive (i can even boot to it).


  • guest Thursday, June 6, 2013

    Hi

    You need to import the zpool ( default pool name rpool) with -f option then if you run beadm list it will show the available boot environments.


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.