// Tutorial //

How To Create a Sudo User on CentOS [Quickstart]

Published on March 29, 2016
Default avatar
By Mitchell Anicas
Developer and author at DigitalOcean.
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:


Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

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