Recover root password from terminal [duplicate]
Solution 1:
You can create a new administrator account by restarting the Setup Assistant:
Boot into Single User Mode: Start/restart your Mac. As soon as you hear the startup tone, press and hold ⌘ + S until you see a black screen with white lettering. (If you end up back on the login screen after a flash of the black screen with white lettering, enter your password and it will return to the black screen.)
Check and repair the drive by typing
/sbin/fsck -fy
then ↩ enter - as directed by the on-screen text.Mount the drive as read-write by typing
/sbin/mount -uw /
then ↩ enter.Remove the Apple Setup Done file by typing
rm /var/db/.AppleSetupDone
then ↩ enter.Reboot by typing
reboot
then ↩ enter.Complete the setup process, creating a new admin account.
Note that this may result in the new account being logging in automatically when the system is restarted, replacing whatever account may have been set to automatically log in previously. If you need to retain access to the original account without knowing its password, this may mess that up.
Solution 2:
Boot off the recovery partition, open up terminal, and type
resetpassword
That should bring up a dialog that will allow you to change your password and, maybe, set the account to admin. If you cannot set an account to admin, then you will need to reboot into single user mode (hold Cmd-S while starting up your Mac). When you get to the command line (black screen, white text) type:
mount -uw /
rm /var/db/.AppleSetupDone
This makes the file system writeable, and then removes the file that tells OS X that you've setup the system. Hit Ctrl-D" to continue your boot and you should get the "Welcome to Macintosh" startup and you will be able to setup a NEW account (make sure it is a new account). This account will be an admin account.
Solution 3:
There are several ways to regain/recreate administrator privileges on a Mac.
- The administrator account exists, but the password is forgotten:
Boot into Recovery Partition, choose Terminal from the Utilities menu and type following:
resetpassword
This will launch the Reset Password app with which you can select an account and set a new password for it, thus enabling login for it.
Resetting the password does NOT change the password of the account's keychain file, so accessing data in the keychain still requires the original password.
- The administrator account does not exist and/or we want to create a new admin with the Setup Assistant
The goal is to remove a flag file /var/db/.AppleSetupDone which tells macOS that the Setup Assistant has already completed. If the file is missing macOS will launch the Setup Assistant which includes the creation of a new account with administrative privileges (same as on first boot of a new Mac). Note that this may result in the new account being logging in automatically when the system is restarted, replacing whatever account may have been set to automatically log in previously. If you need to retain access to the original account without knowing its password, this may mess that up.
You can make Setup Assistant run in (at least) three ways:
a) use Terminal in Recovery. First you boot in Recovery Partition (CmdR at boot) and select Disk utility from the Utilities window. Select your system volume (usually named Macintosh HD) and click Mount button on the toolbar. Now the volume is read/write. Close Disk Utility, launch Terminal from the menu and type following command:
rm /var/db/.AppleSetupDone
Press Enter, quit Terminal and restart your Mac. When the system boots, Setup Assistant will be shown and you will be prompted to create a new administrative account.
b) use Single User Mode. First you boot in Single User Mode (CmdS at boot). When the system boots up and prompt #root is displayed type following commands:
/sbin/mount -uw /
rm /var/db/.AppleSetupDone
exit
When the system boots, Setup Assistant will be shown and you will be prompted to create a new administrative account.
c) use Target Disk mode with another computer
If you have another Mac available, you can use Target Disk Mode (T at boot) and connect FireWire, Thunderbolt or USB-C cable between the Macs. On the other Mac you will see a yellow icon representing an external disk (but is actually the internal disk of your Mac in Target Disk Mode) which you can access with full read/write capabilities. Note the yellow volume name (usually Macintosh HD) and type following in Terminal (with appropriate volume name entered):
rm /Volumes/Macintosh\ HD/var/db/.AppleSetupDone
Eject the yellow volume and use power button to shutdown and restart your Mac. When the system boots, Setup Assistant will be shown and you will be prompted to create a new administrative account.
- use Single User Mode and use command line tools to directly create a new user and make it a member of administrator group:
First you boot in Single User Mode (CmdS at boot). When the system boots up and prompt #root is displayed type following commands:
/sbin/mount -uw /
launchctl load /System/Library/LaunchDaemons/com.apple.opendirectoryd.plist
dscl . -create /Users/joeadmin
dscl . -create /Users/joeadmin UserShell /bin/bash
dscl . -create /Users/joeadmin RealName "Joe Admin"
dscl . -create /Users/joeadmin UniqueID "510"
dscl . -create /Users/joeadmin PrimaryGroupID 20
dscl . -create /Users/joeadmin NFSHomeDirectory /Users/joeadmin
dscl . -passwd /Users/joeadmin password
dscl . -append /Groups/admin GroupMembership joeadmin
dseditgroup -o edit -a joeadmin -t user admin
exit
This will create an account "joeadmin", account ID 510, with password "password" which will be an administrator.