How to add and remove a user account on Linux
In Linux and other Unix-like operating systems, the useradd command can be used to add/create new user accounts including their usernames, passwords and other data.
Below is the basic syntax of the command to add a user account.
useradd [options] username
This guide will describe the steps to add and remove a user account in the Linux server and cloudvps will be used as a sample username.
Add a user account
To add a new user, both
adduser commands can be used because adduser is just a symbolic link to useradd. The new username should be different from other usernames that are already created in the system.
- To add a user called cloudvps with the command
# useradd cloudvps
- Below is the command to set a password for the user account.
# passwd cloudvps
- To add a user called cloudvps with the command adduser command.
# adduser cloudvps1
- In Linux, user account details are stored in the following file
/etc/passwd. The below command is used to verify and check the details of the newly created user account.
# grep cloudvps /etc/passwd
*It contains a set of seven colon-separated fields as mentioned below.
- cloudvps – Account username.
- x – User password and it is stored in /etc/shadow file in encrypted format as below image.
# grep cloudvps /etc/shadow
- 1001 – User ID (UID): Every user must have a UID (User identification number) and the root user is always reserved with 0 and 1-99 range is reserved for other predefined accounts.
- 1001 – Group ID (GID) group identification number and it is stored in /etc/group file.
# grep cloudvps /etc/group
- The empty field. It allows adding additional information about the user such as the user’s full name, phone number, etc. The -c option can be used along with useradd command to add custom records, such as the user’s full name, phone number, etc to the /etc/passwd file. The below command will add the full name as
CloudVps Userfor the user account cloudvps.
# useradd -c “CloudVps User” cloudvps
This detail will be added in /etc/passwd as below:
cloudvps:x:1001:1001: CloudVps User:/home/layerstack:/bin/sh
- /home/cloudvps – It is the absolute location of the user’s home directory.
- /bin/sh –Shell: It is the absolute location of the user’s shell.
Note: Replace the username cloudvps with the original user account name.
Remove a user account
In Linux, user account details are stored in the file
/etc/passwd. The below command is used to verify and check the details of the newly created test user account cloudvps.
# grep cloudvps /etc/passwd
- Below is the basic syntax of the command to delete/remove a user account.
# userdel [options] username
- fore deleting, must kill all running processes which belong to that user account should be killed/terminated.The below commands are used to find and kill the running process, then remove that user and verify it from the /etc/passwd file.
# pgrep -u cloudvps # ps -fp $(pgrep -u cloudvps) # killall -9 -u cloudvps # userdel cloudvps # grep cloudvps /etc/passwd
- The below command can be used to remove the user’s home directory and mail spool:
# userdel -r cloudvps1
Note: Replace the username
cloudvps1with the original useraccount name.