The su command is also known as switch user. This command is used to become another user during a login session. When invoked without a username, su defaults switch to the super user. Basically, the su command is used to change current logged in user to another user without logged out from system.
It is an frequently used command mostly by the Linux terminal users. This tutorial will help you understand the uses of Linux su command with examples.
su [OPTIONS] [USER] [OPTIONAL ARGS...]
su Command Examples in Linux
Let’s begin with a basic example. I’m Logged in to my system with user ‘root’, verified the identify using whoami command. Then switch to root user with su command. Again verified the identify.
### Output: rahul
su - root
### Become root user
### Output: root
Things to know:
- Invoke the su command without username becomes the superuser (root).
- Using hyphen (-) with switching invoke login shell scripts. This is used to provide an environment similar to what the user got at direct login
- The current environment is passed to the new shell with effective environment variables to switched user.
The sudo privileged users can also prefixed sudo with su command. like:
sudo su - root
Sometimes, you may only need to switch user to run a single or few commands only. In that condition, su provides you
-c option to run command as another user without actually switching the shell.
su - root -c "whoami"
### Output: root
su Command Line Options
Linux su command has only few but very useful option. These options are very useful while automating tasks with the shell scripts.
-c, --commandUse this options to pass COMMAND to the invoked shell. With the help of this, you can run command as another user.
-, -l, --loginmake the new shell a login shell. So all the environment will be set as similar to user logged in directly.
-s, --shellChange the default SHELL that is specified in /etc/passwd file.
-m, -p, --preserve-environmentUse this option to preserve environment variables, This is helpful, while running command temporarily as another user.
In this tutorial you have learned Linux su command with useful examples.