Bird
Raised Fist0
Linux CLIscripting~5 mins

sudo for elevated privileges in Linux CLI - Commands & Configuration

Choose your learning style10 modes available
Introduction
Sometimes you need to do tasks on your computer that require special permission. The sudo command lets you run commands as a superuser or administrator to do these tasks safely.
When you want to install new software on your Linux system.
When you need to change system files that normal users cannot edit.
When you want to restart system services like networking or web servers.
When you want to add or remove users from the system.
When you want to update your system packages.
Commands
This command updates the list of available software packages. It needs elevated privileges because it accesses system files.
Terminal
sudo apt update
Expected OutputExpected
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [101 kB] Fetched 215 kB in 1s (300 kB/s) Reading package lists... Done
This command installs the curl tool. The -y flag automatically confirms the installation prompt.
Terminal
sudo apt install curl -y
Expected OutputExpected
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: curl 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 159 kB of archives. After this operation, 455 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 curl amd64 7.68.0-1ubuntu2.7 [159 kB] Fetched 159 kB in 1s (200 kB/s) Selecting previously unselected package curl. (Reading database ... 123456 files and directories currently installed.) Preparing to unpack .../curl_7.68.0-1ubuntu2.7_amd64.deb ... Unpacking curl (7.68.0-1ubuntu2.7) ... Setting up curl (7.68.0-1ubuntu2.7) ... Processing triggers for man-db (2.9.1-1) ...
→
-y - Automatically answer yes to prompts
This command restarts the networking service to apply any changes. It requires elevated privileges to control system services.
Terminal
sudo systemctl restart networking
Expected OutputExpected
No output (command runs silently)
This command adds a new user named 'newuser' to the system. Only administrators can add users.
Terminal
sudo useradd newuser
Expected OutputExpected
No output (command runs silently)
This command sets a password for the new user. It requires elevated privileges to change user passwords.
Terminal
sudo passwd newuser
Expected OutputExpected
Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Key Concept

If you remember nothing else from this pattern, remember: sudo lets you run commands with administrator rights safely when needed.

Common Mistakes
Running commands that need sudo without sudo.
The command will fail with a permission denied error because normal users cannot perform that action.
Add sudo before the command to run it with elevated privileges.
Using sudo for every command even when not needed.
It can be risky and may cause accidental system changes or security issues.
Use sudo only when the command requires administrator rights.
Typing the wrong password multiple times when prompted by sudo.
Sudo will deny access after several failed attempts and you must wait before trying again.
Type your password carefully and ensure your keyboard layout is correct.
Summary
Use sudo before commands that need administrator rights to run successfully.
Common tasks with sudo include installing software, managing users, and restarting services.
Always use sudo carefully to avoid unintended system changes.

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