DEV Community

Cover image for Creating & Deleting Users (useradd, userdel, usermod)
Aryan Vaishnani
Aryan Vaishnani

Posted on

Creating & Deleting Users (useradd, userdel, usermod)

Linux provides commands to:

  1. Create users
  2. Modify users
  3. Delete users
  4. Manage groups and permissions

Main commands:

  1. useradd
  2. userdel
  3. usermod

1. useradd Command

Purpose

Creates a new user account.

Basic Syntax

sudo useradd username

Example

sudo useradd devuser

Creates:

  1. User account
  2. Entry in /etc/passwd

Set Password

sudo passwd devuser

Create User with Home Directory

sudo useradd -m devuser

  • m creates:

/home/devuser

Create User with Shell

sudo useradd -m -s /bin/bash devuser

Important Options

Option Purpose
-m Create home directory
-s Set login shell
-G Add supplementary groups
-u Custom UID

Add User to Multiple Groups

sudo useradd -m -G docker,sudo devuser

Real-World Usage

Create DevOps User

sudo useradd -m -G docker,sudo devops

2. userdel Command

Purpose

Deletes a user account.

Basic Syntax

sudo userdel username

Example

sudo userdel devuser

Removes:

  1. User account entry

But home directory may remain

Delete User with Home Directory

sudo userdel -r devuser

  • r removes:
  1. Home directory
  2. Mail spool

Real-World Usage

Remove Temporary Employee Account

sudo userdel -r intern1

Important Note

Never delete system users carelessly.

3. usermod Command

Purpose

Modifies existing user accounts.

Basic Syntax

sudo usermod options username

Change Username

sudo usermod -l newname oldname

Change Home Directory

sudo usermod -d /new/home devuser

Add User to Group

sudo usermod -aG docker devuser

Meaning:

  • a = append
  • G = supplementary group

Important Warning

Wrong command:

sudo usermod -G docker devuser

This removes existing groups.

Correct usage:

sudo usermod -aG docker devuser

Lock User Account

sudo usermod -L devuser

Unlock User Account

sudo usermod -U devuser

Change Shell

sudo usermod -s /bin/zsh devuser

Real-World DevOps Examples

Give Docker Access

sudo usermod -aG docker aryan

Give Sudo Access

Ubuntu/Debian:

sudo usermod -aG sudo devuser

RHEL/CentOS:

sudo usermod -aG wheel devuser

Useful User Commands

Check Current User

whoami

Show User Details

id devuser

Show Groups

groups devuser

Switch User

su - devuser

Check User Files

cat /etc/passwd

Top comments (0)