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 20.04 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.
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 20.04 server, please read our Initial Server Setup with Ubuntu 20.04 tutorial.
Get Ubuntu on a hosted virtual machine in seconds with DigitalOcean Droplets! Simple enough for any user, powerful enough for fast-growing applications or businesses.
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!
Excellent information. Always I love to read and follow Digital Ocean tutorials.
I follow the above instructions, however, when I try test the sudo privileges, I get an error saying “user_name is not in the sudoers file. This incident will be reported” Please help, because I followed everything
You need to also add the user to the journalctl