Tutorial

How To Create a Sudo User on CentOS [Quickstart]

How To Create a Sudo User on CentOS [Quickstart]

This tutorial is out of date and no longer maintained.

Please refer instead to our updated quickstart tutorial, How To Create a New Sudo-enabled User on CentOS 8.

Introduction

The sudo command provides a mechanism for granting administrator privileges, ordinarily only available to the root user, to normal users. This guide will show you the easiest way to create a new user with sudo access on CentOS, without having to modify your server’s sudoers file. If you want to configure sudo for an existing user, simply skip to step 3.

Steps to Create a New Sudo User

  1. Log in to your server as the root user.

    1. ssh root@server_ip_address
  2. Use the adduser command to add a new user to your system.

    Be sure to replace username with the user that you want to create.

    1. adduser username
    • Use the passwd command to update the new user’s password.

      1. passwd username
    • Set and confirm the new user’s password at the prompt. A strong password is highly recommended!

      Set password prompts:
      Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.
  3. Use the usermod command to add the user to the wheel group.

    1. usermod -aG wheel username

    By default, on CentOS, members of the wheel group have sudo privileges.

  4. Test sudo access on new user account

    • Use the su command to switch to the new user account.

      1. su - username
    • As the new user, verify that you can use sudo by prepending “sudo” to the command that you want to run with superuser privileges.

      1. sudo command_to_run
    • For example, you can list the contents of the /root directory, which is normally only accessible to the root user.

      1. sudo ls -la /root
    • The first time you use sudo in a session, you will be prompted for the password of the user account. Enter the password to proceed.

      Output:
      [sudo] password for username:

      If your user is in the proper group and you entered the password correctly, the command that you issued with sudo should run with root privileges.

Here is a link to a more detailed user management tutorial:

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
6 Comments


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

that worked for me as expected (centos 7), you should open an other NEW SESSION and make test e.g. ls -la /root

You can make things more “proper” : Add new group, let say mycompany

#groupadd mycompany

Go under /etc/sudoers.d/ and create new file, let say 70-mycompany-users

#vi /etc/sudoers.d/70-mycompany-users

Add these lines

# User rules for mycompany (add comments ...)
%mycompany ALL=(ALL) ALL

Add user to group

#usermod -aG mycompany username

Now open NEW SESSION with username credits and make test

$ls -la /root
ls cannot open directory /root : Permission denied

Now prefix that commande with sudo

$sudo ls -la /root
[sudo] password for username : *******
and bingo !

Hope this help someone else.

Thanks, this works for me. The only issue it hadn’t stated is that it only takes effect in a new session. i.e. Starting a new terminal doesn’t work, While doing logout and login again worked for me.

I’m unsure if CentOS changed this in their latest release, but after adding the new user to the wheel group, I needed to uncomment this line in the sudo file:

#%wheel  ALL=(ALL)       ALL

This gives wheel sudo access.

Hi, this doesn’t work for me. I added my new user to the wheel group (on centos 6.8 x64) and I just get a message saying that I am not a sudoer and that this will be reported.

How do I complete this setup?

The easiest way to allow a user to have same rights as root is as follows:

edit /etc/sudoers file and below this section:

Same thing without a password

%wheel ALL=(ALL)

add similar line for your user e.g.: %username ALL=(ALL)

I believe that the below command is unnecessarily then (but I have done it as per the manual above):

usermod -aG wheel username

The above works in you home lab/project where only a single or a few users can be added with root priviledges and no password is required (for convenience) when running root-related commands e.g. sudo yum update or like earlier: sudo ls -alh /root etc.

Now this tutorial is complete! have fun people!

This doesn’t working anymore!! please delete the tutorial. to not confuse other peoplel

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel