What is the difference between the
su command? Why does OS X handle these different than Linux?
OS X handles
su identically to Linux.
sudo is a command that, without any additional options, will run a command as root. For example:
% touch /newfile touch: /newfile: Permission denied % ls -l /newfile ls: /newfile: No such file or directory % sudo touch /newfile % ls -l /newfile -rw-r--r-- 1 root wheel 0 Apr 27 11:45 /newfile
su on the other hand, will switch the current user to root (again without any extra commands). In the example below, I have to run
sudo su, since I don't know the root password for my system:
% whoami alake % sudo su $ whoami root
The key difference between
sudo runs a command as root, whereas
su makes you root. Much like other command line utilities there are a number of alternative ways to use both
su, if you're interested you can always run
man <command> eg.
man sudo to get more information.