How To Create a Sudo User On CentOS, Ubuntu & Debian
Abstract: please skip to adding a user to the sudo group. useradd -c "sudo user" -m -d /home/user_name user_name The above command creates a user called user_na
The sudo (substitute user do or superuser do) command is a program that allows users to run commands as another user, by default the superuser ie root.
The sudo command is mostly used to perform administrative tasks by regular users executing commands as the root user.
In this post, we see how to create a user with sudo privileges on CentOS, Ubuntu & Debian.
PrerequisitesLog in as the root user or switch to the root user.
su -
In Debian / Ubuntu, install the sudo application using the apt command.
apt update apt install -y sudoCreate User and Give sudo Access Create a sudo user
Create a new user account for sudo access. If you want to give sudo access to an existing user, please skip to adding a user to the sudo group.
useradd -c "sudo user" -m -d /home/user_name user_name
The above command creates a user called user_name with the home directory /home/user_home and comment as sudo user.
Replace user_name with the username you want to create.
Set PasswordSet the password for the new user account.
passwd user_nameAdd user to the sudo group
The members of group wheel on CentOS and sudo on Ubuntu / Debian are allowed to run commands with sudo. Use the usermod command to add a user account to the respective group.
CentOSusermod -aG wheel user_nameUbuntu / Debian
usermod -aG sudo user_nameTest the sudo access
Switch to the newly created user.
su -l user_name
Verify that the sudo access is working as expected
sudo -l
You will be asked to enter the user’s password the first time you do sudo in a session.
Output:
Matching Defaults entries for user_name on server:
!visiblepw, always_set_home, match_group_by_gid, env_reset,
env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User user_name may run the following commands on server:
(ALL) ALL
The above output confirms that user user_name can run any command as the root user.
Use sudoTo run a command with sudo privileges, just prefix the sudo in your command.
Syntax:
sudo your_command
Example:
sudo blkid
You will be asked to enter the user’s password the first time you do sudo in a session.
Output:
/dev/sda1: UUID="60a496d0-69f4-4355-aef0-c31d688dda1b" TYPE="xfs" /dev/sda2: UUID="Q9pSx3-bNi4-88ah-1Wa5-jLLs-7POm-ytlfUr" TYPE="LVM2_member" /dev/mapper/centos-root: UUID="63e5ad04-38ef-4ce2-857b-0197cdb7d582" TYPE="xfs" /dev/mapper/centos-swap: UUID="68cb3801-13e8-47da-bbfa-8389aab3836b" TYPE="swap" /dev/mapper/centos-home: UUID="187abb36-b5b3-48cd-8cbb-baad6dbb0dc5" TYPE="xfs"Conclusion
That’s All. You have learned how to create a user with sudo privileges on Linux. Now, you will be able to run root’s administrative commands with this new user. Please provide your feedback in the comments section.