Tuesday, December 6, 2011

How do I su to root on OSX


So you are tired of typing sudo before ever command and you would like root shell running bash.  In OSX like Ubuntu the password for root is locked and you can not “su” or “sux” to root.  The way you get around this is to first “sudo bash” to get a root bash shell and then “passwd” to set the root password.  Make sure you set a really strong password for root if you are going to go this route.  And if you allow inbound SSH, you should probably change the sshd_config to not allow root to SSH in.  Make users SSH as a non-privileged user first and then su to root. 

Once you have this done you will probably want to set the shell that root uses by default.  Unfortunately you can not just edit /etc/passwd like in Linux.  OSX uses OpenDirectory to store all of this.  What I had to do is reboot/logout and then log back in as root.  You can then use the actual GUI tools (System Preferences ->  Users and Groups -> Control-Click the root user in the list and select advanced options) to change the shell for the root user.   

No comments:

Post a Comment