Introduction
The sudo
command stands for “Super User DO” and temporarily elevates the privileges of a regular user for administrative tasks. The sudo
command in CentOS provides a workaround by allowing a user to elevate their privileges for a single task temporarily.
This guide will walk you through the steps to add a user to sudoers in CentOS.
Prerequisites
- A system running CentOS 7
- Access to a user account with root privileges
Add User to Sudoers on CentOS
Step 1: Login as Administrator
If you’re working on a local machine, log in to the system with administrator credentials.
If you’re connecting to a remote machine (over a network), open a terminal window and enter the command:
ssh root@server_ip_address
The server_ip_address is the network IP address of the server you’re logging into. Enter your credentials when prompted.
Step 2: Create a New Sudo User
To add a new sudo user, open the terminal window and enter the command:
adduser UserName
Use the actual username for your new user in place of UserName.
Next, create a password for the new user by entering the following in your terminal window:
passwd UserName
The system should display a prompt in which you can set and confirm a password for your new user account. If successful, the system should respond with “all authentication tokens updated successfully.”
Note: A strong secure password has more characters and a few special characters (such as numbers, symbols, or capitals).Make sure you’re choosing an appropriately strong password for your system.
How to Add Users to Sudo Group
By default, CentOS 7 has a user group called the “wheel” group. Members of the wheel group are automatically granted sudo privileges. Adding a user to this group is a quick and easy way to grant sudo privileges to a user.
Step 1: Verify the Wheel Group is Enabled
Your CentOS 7 installation may or may not have the wheel group enabled.
Open the configuration file by entering the command:
visudo
Scroll through the configuration file until you see the following entry:
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
If the second line begins with the # sign, it has been disabled and marked as a comment. Just delete the # sign at the beginning of the second line so it looks like the following:
%wheel ALL=(ALL) ALL
Then save the file and exit the editor.
Note: If this line didn’t start with a # sign, you don’t need to make any changes. The wheel group is already enabled, and you can close the editor.
Step 2: Add User to Group
To add a user to the wheel group, use the command:
usermod –aG wheel UserName
As usual, replace UserName with the name of the user receiving sudo privileges.
Step: 3 Switch to the Sudo User
Switch to the new (or newly-elevated) user account with the su
(substitute user) command:
su - UserName
Enter the password if prompted. The terminal prompt should change to include the UserName.
Enter the following command to list the contents of the /root directory:
sudo ls -la /root
The terminal should request the password for UserName. Enter it, and you should see a display of the list of directories. Since listing the contents of /root requires sudo privileges, this works as a quick way to prove that UserName can use the sudo
command.
Alternative: Add User to Sudoers Configuration File
If there’s a problem with the wheel group, or administrative policy prevents you from creating or modifying groups, you can add a user directly to the sudoers configuration file to grant sudo privileges.
Step 1: Open the Sudoers File in an Editor
In the terminal, run the following command:
visudo
This will open the /etc/sudoers file in a text editor.
Step 2: Add the New User to file
Scroll down to find the following section:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
Right after this entry, add the following text:
UserName ALL=(ALL) ALL
Replace UserName with the username you created in Step 2. This section should look like the following:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
UserName ALL=(ALL) ALL
Save the file and exit.
Step 3: Test Sudo Privileges for the User Account
Switch user accounts with the su
(substitute user) command:
su — UserName
Enter the password for the account, if prompted. The terminal prompt should change to include UserName.
List the contents of the /root directory:
sudo ls —la /root
Enter the password for this user when prompted. The terminal should display a list of all the directories in the /root directory.
Conclusion
This guide showed you how to add a user to sudoers in CentOS or modify the privileges of an existing sudo user.
The Linux sudo
command is critical for running advanced and administrative tasks on a Linux system. While this could be done using a root user (or administrator account) using the su command, system administrators advise against operating permanently in a root account. Not only can it be a security risk, but it can also allow changes to a Linux system that can break functionality.
Next you should also read
How to Solve MySQL Error: Access denied for user root@localhost
January 13, 2020
When you install MySQL on your system, the root user may not be able to access it. Using the ALTER command,…
How to Use the su Command in Linux with Examples
January 7, 2020
Learn how to use the su command with practical examples and explanations. Change users in the terminal window…
How to Start, Stop, and Restart Services in Linux
December 6, 2019
In most modern Linux operating systems, managing a service is quite simple when it comes to basic commands.…
How to Change Sudo or Root Password in Ubuntu
April 10, 2019
Are you looking to change the root password in Ubuntu? Changing passwords is a good practice and should be…
Author
Sofija Simic
Sofija Simic is an aspiring Technical Writer at phoenixNAP. Alongside her educational background in teaching and writing, she has had a lifelong passion for information technology. She is committed to unscrambling confusing IT concepts and streamlining intricate software installations.