Bird
Raised Fist0
Linux CLIscripting~5 mins

su (switch user) in Linux CLI - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the su command do in Linux?
The su command lets you switch from your current user to another user account in the terminal. It stands for "switch user."
Click to reveal answer
beginner
How do you switch to the root user using su?
You type su and press Enter. Then you enter the root user's password when asked. This gives you root access.
Click to reveal answer
intermediate
What is the difference between su and su -?
su switches user but keeps your current environment. su - switches user and loads the new user's full environment, like a fresh login.
Click to reveal answer
beginner
How do you switch to another user named alice using su?
You type su alice and press Enter. Then enter Alice's password when prompted.
Click to reveal answer
beginner
Why might you use exit after using su?
Typing exit logs you out of the switched user session and returns you to your original user.
Click to reveal answer
What does the command su - do differently than su?
ALogs out the current user
BSwitches user but keeps the current environment
CShows the current user name
DSwitches user and loads the new user's environment
Which password do you need to enter when you run su alice?
AAlice's password
BYour own password
CRoot password
DNo password is needed
What happens if you type su without a username?
ASwitches to root user
BSwitches to guest user
CShows an error
DLogs out current user
How do you return to your original user after using su?
AType <code>logout</code>
BClose the terminal
CType <code>exit</code>
DPress Ctrl+C
Why is su useful in Linux?
ATo update software automatically
BTo switch between different user accounts
CTo create new files
DTo check disk space
Explain how to switch to the root user using su and how to return to your original user.
Think about logging in as root and then logging out.
You got /3 concepts.
    Describe the difference between su and su - and when you might use each.
    Consider how environment variables and settings change.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the su command do in Linux?
      easy
      A. Updates the system packages
      B. Shows the current user's groups
      C. Switches the current user to another user
      D. Displays the current directory contents

      Solution

      1. Step 1: Understand the purpose of su

        The su command is used to switch from the current user to another user in the terminal.
      2. Step 2: Compare options

        Updating system packages uses apt or yum, showing user's groups uses 'groups', displaying directory contents uses 'ls'. These are unrelated to user switching.
      3. Final Answer:

        Switches the current user to another user -> Option C
      4. Quick Check:

        su = switch user [OK]
      Hint: Remember: su means switch user [OK]
      Common Mistakes:
      • Confusing su with commands like ls or groups
      • Thinking su updates software
      • Assuming su shows files
      2. Which of these is the correct syntax to switch to user alice and load her full environment?
      easy
      A. su - alice
      B. su alice
      C. su --user alice
      D. su /alice

      Solution

      1. Step 1: Recall the syntax for full environment loading

        Using su - username switches user and loads their full environment.
      2. Step 2: Check options

        su alice changes user without full environment, su --user alice uses invalid flag, su /alice is invalid syntax.
      3. Final Answer:

        su - alice -> Option A
      4. Quick Check:

        Use dash (-) to load full environment [OK]
      Hint: Use dash (-) after su for full environment [OK]
      Common Mistakes:
      • Omitting the dash (-) to load environment
      • Using wrong flags like --user
      • Adding slashes before username
      3. What will be the output of the following commands if you run su - bob and enter the correct password?
      whoami
      medium
      A. root
      B. Permission denied
      C. current user name
      D. bob

      Solution

      1. Step 1: Understand what su - bob does

        This command switches the current user to 'bob' and loads his environment after password verification.
      2. Step 2: Check the output of whoami

        After switching, whoami shows the current active user, which will be 'bob'.
      3. Final Answer:

        bob -> Option D
      4. Quick Check:

        After su, whoami = new user [OK]
      Hint: whoami shows switched user after su [OK]
      Common Mistakes:
      • Expecting root instead of target user
      • Thinking it shows original user
      • Assuming permission denied without password
      4. You try to switch to user john using su john but get the error: Authentication failure. What is the most likely cause?
      medium
      A. You entered the wrong password for john
      B. User john does not exist
      C. You forgot to use sudo before su
      D. You need to be root to use su

      Solution

      1. Step 1: Understand the error message

        Authentication failure means the password entered was incorrect for the target user.
      2. Step 2: Analyze other options

        User existence error would say 'unknown user'. Using sudo is not required for su. You do not need to be root to switch users if you know the password.
      3. Final Answer:

        You entered the wrong password for john -> Option A
      4. Quick Check:

        Authentication failure = wrong password [OK]
      Hint: Authentication failure means wrong password [OK]
      Common Mistakes:
      • Assuming user does not exist
      • Thinking sudo is required for su
      • Believing only root can switch users
      5. You want to run a script as user deploy without fully switching to their environment. Which command is best to use?
      hard
      A. su -c deploy ./script.sh
      B. su deploy -c './script.sh'
      C. su deploy ./script.sh
      D. su - deploy ./script.sh

      Solution

      1. Step 1: Understand running commands as another user

        Using su username -c 'command' runs the command as that user without opening a full shell.
      2. Step 2: Check options for correct syntax

        su -c deploy ./script.sh wrong flag order, su - deploy ./script.sh starts login shell, su deploy ./script.sh starts non-login shell. Only su deploy -c './script.sh' runs directly.
      3. Final Answer:

        su deploy -c './script.sh' -> Option B
      4. Quick Check:

        Use -c to run command as user [OK]
      Hint: Use su -c 'command' to run without full switch [OK]
      Common Mistakes:
      • Placing - before username incorrectly
      • Omitting -c flag for command
      • Confusing argument order
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard