Whenever I try to issue
su I get this:
Needless to say, I'm entering the correct admin password which does work with
sudo. What I want is not having to enter
sudo each time.
In MacOS X, the root user is disabled by default, therefore
su will not work. As others have stated, it's best to use
If you must enable the root user, see Apple's technote: Enabling and using the "root" user in Mac OS X.
To run as another use, use
sudo -u someuser nano
…and enter your Mac admin user password when prompted. At this juncture, it is your Mac admin user who is invoking
sudo, not the
someuser user so you do not enter the
sudo means to run something using superuser privileges.
-u means “run a specified command as this specified user”.
someuser should be replaced with your desired user name.
To simulate an initial login as a particular user, including running their startup scripts, use
sudo -u someuser -i nano
This runs the
nano app as the user
someuser but only after having run the startup scripts for that user.
If we opt to not specify a command or app to run, we get an interactive shell running as that user.
sudo -u someuser -i
sudo su someuser
Another approach uses the
su command in combination with the
su command means “switch user”.
sudo su someuser
Or, to include running the user's startup scripts, add the hyphen.
sudo su - someuser
root user in Unix-related operating systems have absolute power to do anything.
Apple has chosen to disable the
root account in macOS, to avoid security vulnerability exploits and to protect you from shooting yourself in the foot. Apple created the idea of the Administrator user accounts who have many powers, more powers than a Standard user account, but not absolute power like
root has. See this Apple Support note for discussion.
If need be, you can enable the
root user in macOS and then switch to that user. This is strongly discouraged. I would go down this path only as a desperate last resort.
I think you can't do this as a "normal" user...
If there is another user account with admin rights you have to use this one
restricted user$ su
Password:(the root password here)
restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
I had this same problem and as @Nohillside suggested, there is no way to access root through the su command as a normal user just using su. As stated, adding the admin account to the su command is recognized. I was able to connect as root that way. It's not something I will do often. I just wanted to test it and the result was an immediate connection.
> admin-server:~ admin$ su
> su: Sorry
> admin-server:~ admin$ su - admin
> admin-server:~ admin$
Try the password
alpine?! Legend has it that
alpine was the root password on macOS for many years! You can get to root from an admin account shell with:
I recommend then changing the password for root with:
After this I can just run
su and type the actual root password. Handy for going root from a regular user account.