When managing a server, you’ll sometimes want to allow users to execute commands as “root,” the administrator-level user. The sudo
command provides system administrators with a way to grant administrator privileges — ordinarily only available to the root user — to normal users.
In this tutorial, you’ll learn how to create a new user with sudo
access on Ubuntu without having to modify your server’s /etc/sudoers
file.
Note: If you want to configure sudo
for an existing user, skip to step 3.
Also, if you are using Ubuntu version 16.04 or below, we recommend you upgrade to a more latest version since Ubuntu no longer provides support for these versions. This collection of guides will help you in upgrading your Ubuntu version.
SSH in to your server as the root user:
- ssh root@your_server_ip_address
Use the adduser
command to add a new user to your system:
- adduser sammy
Be sure to replace sammy
with the username that you want to create. You will be prompted to create and verify a password for the user:
OutputEnter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Next, you’ll be asked to fill in some information about the new user. It is fine to accept the defaults and leave this information blank:
OutputChanging the user information for sammy
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Use the usermod
command to add the user to the sudo group:
- usermod -aG sudo sammy
Again, be sure to replace sammy
with the username you just added. By default on Ubuntu, all members of the sudo group have full sudo
privileges.
sudo
AccessTo test that the new sudo
permissions are working, first use the su
command to switch to the new user account:
- su - sammy
As the new user, verify that you can use sudo
by prepending sudo
to the command that you want to run with superuser privileges:
- sudo command_to_run
For example, you can list the contents of the /root
directory, which is normally only accessible to the root user:
- sudo ls -la /root
The first time you use sudo
in a session, you will be prompted for the password of that user’s account. Enter the password to proceed:
Output:[sudo] password for sammy:
Note: This is not asking for the root password! Enter the password of the sudo-enabled user you just created.
If your user is in the proper group and you entered the password correctly, the command that you issued with sudo
will run with root privileges.
In this quickstart tutorial, we created a new user account and added it to the sudo group to enable sudo
access.
For your new user to be granted external access, please follow our section on Enabling External Access for Your Regular User.
If you need more detailed information on setting up an Ubuntu server, please choose your distribution from this list to follow your specific Initial Server Setup Guide.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
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!
Heya all,
For anyone stumbling on this tutorial, I think you might find this interesting:
https://www.digitalocean.com/community/questions/a-deep-dive-into-the-sudoers-file
In this mini-tutorial, we do a deep dive into the sudoers files and how you can work wonders with it.