Name

su

Synopsis

su [option] [user] [shell_args]

Create a shell with the effective user ID user. If no user is specified, create a shell for a privileged user (i.e., become a superuser). Enter EOF to terminate. You can run the shell with particular options by passing them as shell_args (e.g., if the shell runs bash, you can specify -c command to execute command via bash, or -r to create a restricted shell).

Options

-, -l, --login

Go through the entire login sequence (i.e., change to user’s environment).

-c command, --command=command

Execute command in the new shell and then exit immediately. If command is more than one word, it should be enclosed in quotes. For example:

su -c 'find / -name \*.c -print' nobody
-f, --fast

Start the shell with the -f option, which suppresses the reading of the .cshrc or .tcshrc file. Applies to csh and tcsh.

-m, -p, --preserve-environment

Do not reset environment variables.

-s shell, --shell=shell

Execute shell, not the shell specified in /etc/passwd, unless shell is restricted.

--help

Print a help message and then exit.

--version

Print version information and then exit.

Examples

Become root and obtain all of root’s user environment:

$ su -

Become root long enough to restart the Apache httpd web server, then revert to the current user:

$ su -c /etc/rc.d/init.d/httpd restart

Get Linux in a Nutshell, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.