views
- Root privileges lets you open any Mac application with an administrator password.
- Using root privileges can damage your device if done incorrectly.
- Limit yourself tasks you understand well to avoid damage to your applications and computer.
From an Admin Account
Know the risks. Most graphical applications are not designed for root access. Limit yourself to specific tasks you understand well, or you may end up with inaccessible files, application crashes, or security vulnerabilities.
Open Terminal. Log into an administrator account on your computer. Go to Applications → Utilities and launch Terminal. This administrator account must have a non-blank password, or Terminal will not allow you to access root privileges.
Try the quick way. The sudo command lets you launch applications with root access, but it requires the path to the executable file within the application package. Most default Mac applications, as well as many third-party programs, organize the package contents the same way, so it's worth trying this: Enter sudo "\file path from hard drive to application.app/Contents/MacOS/application name".For example, to open iTunes, type sudo "/Applications/iTunes.app/Contents/MacOS/iTunes" and press ⏎ Return. Enter the password for the administrator account you are currently logged into. Press ⏎ Return. If the command works, the application should open with root privileges. If the Terminal says "command not found," continue to the next step.
Open the application's package contents. If the quick way didn't work, locate the application in Finder. Right-click (or Control-click) its icon and select Show Package Contents from the drop-down menu.
Find the executable file. You should now see one or more folders inside the application. Locate the executable file inside this folder. This is usually inside /Contents/MacOS. The executable often has the same name as the application, but it could have another name, such as "run.sh." The executable file icon is usually a black square with the word "exec" in small letters.
Type sudo into Terminal. Type sudo followed by a space. Do not enter the command yet.
Drag the executable file into the Terminal line. This should automatically insert the file path to the executable file.
Confirm the command with your password. Hit ⏎ Return. Enter the password for the administrator account you are logged into, and press ⏎ Return again. The application should launch with root privileges.
From a Non-Admin Account
Open Terminal in a non-admin account. Many system administrators prefer to work in an ordinary user account to limit the possible damage from mistakes or malware attacks. This method still requires an administrator password, but allows you to gain temporary root access without having to switch users. To get started, open a Terminal window.
Switch to an administrator within the Terminal. Enter the command su - followed by a space and an administrator's username on this computer. Enter that administrator's password. You are now operating as that user. The hyphen in the command is optional, but recommended. It sets the environmental variables and directories to those of the admin user, which limits the chance of accidental damage.
Open the application using sudo. The typical usage is sudo "\file path from hard drive to application.app/Contents/MacOS/application name". If this doesn't work or you need more guidance, refer to the administrator instructions above.
Return to your own account. Once you've completed all tasks that require root privileges, enter exit in Terminal. This will exit the administrator user and return you to your normal account.
Troubleshooting
Disable System Integrity Protection (High Risk). This feature, introduced in Mac OS 10.11 El Capitan, limits access to important files even for the root user. If you are unable to make the desired changes, you can disable SIP. Only do this if you are confident in your ability and understand that a mistake could wipe your computer or make it nonfunctional: Restart your computer. Hold down ⌘ Command + R after you hear the start-up noise to enter Recovery Mode. Select Utilities from the top menu, then Terminal. Enter csrutil disable; reboot in Terminal. Let the computer restart as usual. You can now use the steps above to open any application with full root privileges. When you are finished, consider repeating these instructions with enable instead of disable to reinstate SIP.
Use Nano instead of a graphical text editor. It may be safer and more reliable to edit configuration files using a text editor within the Terminal. Nano is a simple option available by default. To use it with root privileges, just enter sudo nano followed by a space and the file path to your text document. You can then edit the document from within Terminal. When finished, press Control + O to save, then Control + X to quit nano. For example, sudo nano /etc/hosts will open the hosts file with root access. It's a good idea to make a backup before you edit any configuration files. To do this, enter sudo cp filepath_of_config_file new_filepath of backup. For example, sudo cp /etc/hosts /etc/hosts.backup creates a copy of the hosts file named hosts.backup. If you make a mistake, move the misconfigured file with (for example) sudo mv /etc/hosts /etc/hosts.bad and restore the backup with sudo cp /etc/hosts.backup /etc/hosts.
Comments
0 comment