Bird
Raised Fist0
Linux CLIscripting~20 mins

sudo for elevated privileges in Linux CLI - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Sudo Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this sudo command?
You run the command sudo -l as a normal user. What does this command show?
Linux CLI
sudo -l
ALists the commands the user can run with sudo, possibly without a password
BShows the current user's password
CDisplays the system's uptime
DStarts a root shell immediately
Attempts:
2 left
💡 Hint
Think about what 'sudo -l' is used for in daily tasks.
💻 Command Output
intermediate
2:00remaining
What happens when you run this sudo command?
What is the output or effect of running sudo echo 'Hello' in a terminal?
Linux CLI
sudo echo 'Hello'
APrints 'Hello' to the terminal
BPrints an error about permission denied
CRuns echo as root but prints 'Hello' as the normal user
DDoes nothing and returns to prompt silently
Attempts:
2 left
💡 Hint
Consider how sudo affects simple commands like echo.
🔧 Debug
advanced
2:00remaining
Why does this sudo command fail?
You try to run sudo cat /etc/shadow but get a 'Permission denied' error. What is the most likely reason?
Linux CLI
sudo cat /etc/shadow
AThe cat command is not installed on the system
BThe /etc/shadow file does not exist
CYou need to use 'su' instead of 'sudo' to read this file
DYour user is not in the sudoers file and cannot run sudo commands
Attempts:
2 left
💡 Hint
Think about user permissions and sudo access.
🧠 Conceptual
advanced
2:00remaining
What does the sudoers file control?
Which of the following best describes the purpose of the sudoers file?
AIt stores encrypted passwords for all users
BIt defines which users can run which commands with sudo privileges
CIt logs all sudo command executions
DIt contains system-wide environment variables
Attempts:
2 left
💡 Hint
Think about how sudo controls access.
🚀 Application
expert
2:00remaining
How to run a command as another user with sudo?
You want to run the command whoami as the user 'alice' using sudo. Which command will do this correctly?
Asudo --user=whoami alice
Bsudo whoami -u alice
Csudo -u alice whoami
Dsudo alice whoami
Attempts:
2 left
💡 Hint
Look for the correct sudo option to specify a different user.

Practice

(1/5)
1. What is the main purpose of using sudo in Linux?
easy
A. To create a new user account
B. To switch to another user account permanently
C. To list files in a directory
D. To run commands with higher privileges than a normal user

Solution

  1. Step 1: Understand what sudo does

    sudo allows a user to run commands with elevated privileges, usually root access.
  2. Step 2: Compare options with sudo purpose

    Only To run commands with higher privileges than a normal user describes running commands with higher privileges, which matches sudo's main use.
  3. Final Answer:

    To run commands with higher privileges than a normal user -> Option D
  4. Quick Check:

    sudo = elevated privileges [OK]
Hint: sudo means run as superuser or admin [OK]
Common Mistakes:
  • Confusing sudo with user switching commands
  • Thinking sudo creates users
  • Assuming sudo lists files
2. Which of the following is the correct syntax to run the command apt update with elevated privileges?
easy
A. sudo apt update
B. apt sudo update
C. sudo -u apt update
D. apt update sudo

Solution

  1. Step 1: Recall the correct sudo syntax

    The correct syntax is sudo [command], so sudo apt update is valid.
  2. Step 2: Check each option

    Options A, B, and D place sudo incorrectly or misuse flags.
  3. Final Answer:

    sudo apt update -> Option A
  4. Quick Check:

    sudo before command = correct syntax [OK]
Hint: Put sudo before the command to elevate it [OK]
Common Mistakes:
  • Placing sudo after the command
  • Using sudo with wrong flags
  • Mixing sudo with user flags incorrectly
3. What will be the output of the command sudo whoami if run by a normal user?
medium
A. root
B. sudo
C. normal user name
D. Permission denied

Solution

  1. Step 1: Understand what whoami does

    whoami prints the current user's name.
  2. Step 2: Effect of sudo on whoami

    Running sudo whoami runs the command as root, so it prints root.
  3. Final Answer:

    root -> Option A
  4. Quick Check:

    sudo changes user to root for command [OK]
Hint: sudo runs command as root user [OK]
Common Mistakes:
  • Expecting normal username output
  • Thinking sudo prints 'sudo'
  • Assuming permission denied without sudo
4. You try to run sudo apt-get update but get the error: sudo: command not found. What is the most likely cause?
medium
A. You typed the command incorrectly
B. You are not logged in as root
C. The sudo package is not installed or not in PATH
D. You need to use su instead of sudo

Solution

  1. Step 1: Analyze the error message

    sudo: command not found means the system cannot find the sudo program.
  2. Step 2: Identify common reasons

    This usually happens if sudo is not installed or its location is missing from the PATH environment variable.
  3. Final Answer:

    The sudo package is not installed or not in PATH -> Option C
  4. Quick Check:

    command not found = missing sudo or PATH [OK]
Hint: command not found means sudo missing or PATH wrong [OK]
Common Mistakes:
  • Assuming user login affects sudo command presence
  • Thinking command typo causes 'command not found'
  • Confusing su and sudo usage errors
5. You want to run a script backup.sh that requires root permissions. Which command correctly runs it with sudo and ensures the script's environment variables are preserved?
hard
A. sudo ./backup.sh
B. sudo -E ./backup.sh
C. sudo -u root ./backup.sh
D. sudo --preserve-env=ALL ./backup.sh

Solution

  1. Step 1: Understand environment preservation with sudo

    By default, sudo resets environment variables for security. The -E flag preserves the user's environment.
  2. Step 2: Evaluate options for preserving environment

    sudo -E ./backup.sh uses -E which preserves environment variables. sudo --preserve-env=ALL ./backup.sh uses a longer form but --preserve-env=ALL is less common and may not be supported everywhere.
  3. Final Answer:

    sudo -E ./backup.sh -> Option B
  4. Quick Check:

    sudo -E preserves environment variables [OK]
Hint: Use sudo -E to keep environment variables [OK]
Common Mistakes:
  • Forgetting environment variables reset by sudo
  • Using sudo without -E loses variables
  • Confusing -u root with environment preservation
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