Basics of Managing Users on CentOS Systems

Updated on November 21, 2023
Basics of Managing Users on CentOS Systems header image

Managing users can be a daunting task: from day-to-day maintenance, security risks, and lack of thorough online documentation. This article will help start you off by explaining the basics of properly managing users on CentOS systems.

Theory: sudo

sudo is a command used when a user is not logged in as the root user, but wants to execute a command as the root user. For example, say that only the root user has access to the /etc/test.txt file. Trying to open the file with vi /etc/test.txt as a "normal" user would not work, whereas sudo vi /etc/test.txt would work, because the command is executed with root privileges.

Adding a User

Adding users on CentOS is performed with the adduser command. Simply type:

adduser UserName

Given that you want to give this user a password, type:

passwd UserName

If you do not manually do this, the user will not have a password.

Deleting a User

If a user does not need to have access to your system anymore, you should delete it. In order to delete a user, you can use userdel:

userdel UserName

Adding the -r switch to the userdel command will cause their home directory to be deleted as well (/home/UserName). Be sure to make a backup of this folder first, if needed.

userdel -r UserName

Granting a User Sudo Privileges

A common use case for "sudo" exists when you do not want to share the password of the root user account, but you still want users on your system to be able to run root-level commands. Running sudo as the root user is useless, as the account already has root privileges.

You can give a user permission to use sudo with the following command:

gpasswd -a UserName wheel

This adds a user to the wheel group, which always has access to the sudo command. Now the user can run sudo.

When running sudo, a user is prompted for their password before the command will execute. This is normal behavior, and can be disabled by editing the sudo settings in /etc/sudoers.

Monitoring Sudo Attempts

For the security of your system, Linux logs both successful and unsuccessful attempts at using sudo. When a user tries to use sudo without having access to it, the following error will be displayed:

UserName is not in the sudoers file. This incident will be reported.

Sudoers incidents are logged to /var/log/secure.