I get this:

Macintosh:8.4 TAmoyal$ su
su: Sorry
Macintosh:8.4 TAmoyal$

I typed in the password I use for sudo. Why won't this work?


  • because you are not saying to which user you are going to switch to.............. just type : " su - " (yes dash after space without anything else) which by it's understanding got to root..... – Michal Oct 20 '16 at 11:13
  • Don't use su use sudo. If you need a root shell type sudo -s or sudo sh – Matt Dec 20 '16 at 20:08

No need to make up a root password. Try sudo su and type your user password.

  • 4
    'sudo su -' will work just fine. Don't set the root password unless you have to. – J.Zimmerman Jul 21 '09 at 6:53
  • 4
    On newer sudo releases, sudo -i is the same as sudo su -. – koenigdmj Jul 21 '09 at 19:08
  • sudo su is only alowed if your account has admin privileges .. comming from the windows world => I don't work that way :-) – lexu Aug 4 '09 at 5:12

Others have mentioned the details of the root account. However, you don't even need su. Just use sudo -i and you get an interactive root console anyway.


For su you need to enter root password. For sudo you have to enter your own password and you should be listed in sudoers list. Since you have not set root password or root password is different then your password, su is not accepting your password.


The root password on OS X is disabled; it is not the same as your sudo password.

Say sudo passwd root if you want to make a root password, then su will work as desired. However, make this password differ from your regular user password in the interest of security.


The su program expects you to supply the password of the user you become.

The sudo program expects you to provide your own password. The configuration file for sudo controls what you can do with it. With su, knowledge of the other persons password is sufficient.

Using sudo is much better; it doesn't require shared passwords.


Based on my experience:

Unless the account you are logged in as has "admin" privileges, you are not allowed to su or sudo.

What I did is create a second account "Administrator" (admin) that has admin privileges then

  • su admin
  • enter admin's password
  • sudo su -
  • enter admin's password

and then the shell I'm in is root.


My advice: Modify the file su in /etc/pam.d by inserting the group you intend to enable for su-ing the root to pam_group.so group=admin,<yourgroup> where <yourgroup> may be staff (=standard users) for example.

In order to do this you have to be root already (admin is not sufficient).

  • Sry - The interpreter ate my brackets and the content between them ;-) Add "staff" after "group=admin," to have success. – clemens Oct 20 '16 at 11:04

If you want, you can enable the root user (and set a password) like that.

People will recommend to use sudo instead.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.