How to Use sudo in Linux

Master the sudo command in Linux for secure, superuser access and system modifications.

The sudo command in Linux stands for “SuperUser DO”. It’s a powerful command that allows users to run programs or other commands with the security privileges of another user, typically the “superuser”. This can be particularly useful when certain operations require higher-level permissions than those granted to standard user accounts.

The superuser, also known as the root user in Linux, has the highest level of access to the system, being able to read, write, and modify any file. However, running commands as a superuser can potentially be risky as it could inadvertently lead to system-wide changes or data loss if a command is misused or a mistake is made.

So, to protect the system, most Linux distributions restrict direct access to the superuser account. That’s where sudo comes into play. It serves as a gatekeeper, allowing authorized users to execute sensitive operations or modify system settings while logging all commands and their respective outcomes. This can be useful for system audits and to identify how certain changes were made.

When you type sudo before a command, the system checks a special file called the sudoers file to see if the user has permission to run the command as a superuser. If they do, they might be prompted to enter their password (depending on the system settings). After authentication, the system will execute the command with superuser privileges.

Here are some ways to use the sudo command:

1. Run Command as Root

The basic usage of sudo is to run a command as the root user.


To run the ls command as root, you would use:

sudo ls
2. Switch to Root User

You can switch to the root user using sudo su. This will prompt you for your password, not the root password.

sudo su
3. Run Command as a Different User

You can use sudo to run a command as a different user using the -u option followed by the username.


To run ls as user john, you would use:

sudo -u john ls
4. Edit Files as Root

You can use sudo to edit files as the root user.


To edit the /etc/hosts file using nano as the root user, you would use:

sudo nano /etc/hosts
5. Run a Command without a Password

You can configure sudo to run specific commands without a password by adding a line to the sudoers file (use sudo visudo to edit this file).


To allow all users to run ls without a password, you would add:

6. Update sudo Cached Credentials

By default, sudo caches your password for 15 minutes. If you want to update the cached credentials before they expire (for example, if you’re about to leave your computer), you can use sudo -v.

sudo -v
7. Invalidate sudo Cached Credentials

If you want to manually invalidate sudo's cached credentials (for example, if you’re done performing administrative tasks), you can use sudo -k.

sudo -k
More Linux commands:
Directory Operations rmdir · cd · pwd · exa · ls
File Operations cat · cp · dd · less · touch · ln · rename · more · head
File System Operations chown · mkfs · locate
Networking ping · curl · wget · iptables · mtr
Search and Text Processing find · grep · sed · whatis · ripgrep · fd · tldr
System Information and Management env · history · top · who · htop · glances · lsof
User and Session Management screen · su · sudo · open