Skip to main content

useradd Cheatsheet

By Dejan Panovski Updated on Download PDF

Quick reference for creating Linux users with useradd, including home directories, shells, groups, and account policies

The `useradd` command creates new user accounts in Linux. This cheatsheet covers common account creation patterns, default settings, group assignment, and safe admin workflows.

Basic Syntax

Core useradd command forms.

CommandDescription
sudo useradd usernameCreate a user account with defaults
sudo useradd -m usernameCreate user and home directory
sudo useradd -m -s /bin/bash usernameCreate user with explicit login shell
sudo useradd -m -c "Full Name" usernameCreate user with GECOS/comment field
sudo useradd -DShow current default useradd settings

Home Directory and Shell

Set home path and login shell at creation time.

CommandDescription
sudo useradd -m usernameCreate /home/username if missing
sudo useradd -M usernameCreate user without home directory
sudo useradd -d /srv/appuser -m appuserCreate user with custom home path
sudo useradd -s /bin/zsh usernameSet login shell to Zsh
sudo useradd -s /usr/sbin/nologin serviceuserDisable interactive login for service account

Groups and Permissions

Assign primary and supplementary groups during creation.

CommandDescription
sudo useradd -m -g developers usernameSet primary group to developers
sudo useradd -m -G sudo usernameAdd user to supplementary sudo group
sudo useradd -m -G docker,developers usernameAdd user to multiple supplementary groups
id usernameVerify UID, GID, and group membership
groups usernameShow group memberships for a user

UID, Expiry, and Inactive Policy

Control account identity and lifetime.

CommandDescription
sudo useradd -m -u 1050 usernameCreate user with specific UID
sudo useradd -m -e 2026-12-31 usernameSet account expiration date
sudo useradd -m -f 30 usernameDisable account after 30 inactive days
sudo useradd -m -k /etc/skel usernameUse skeleton directory for initial files
sudo chage -l usernameInspect account aging and expiry policy

Password and Account Activation

Set password and verify account usability.

CommandDescription
sudo passwd usernameSet or reset user password
sudo passwd -l usernameLock account password login
sudo passwd -u usernameUnlock account password login
sudo su - usernameTest login environment for new user
getent passwd usernameConfirm user entry in account database

Defaults and Safe Workflow

Check defaults first and validate each account creation.

CommandDescription
sudo useradd -DShow defaults (HOME, SHELL, SKEL, etc.)
sudo useradd -D -s /bin/bashChange default shell for future users
sudo useradd -m newuser && sudo passwd newuserCommon two-step creation flow
sudo usermod -aG sudo newuserGrant admin privileges after creation
sudo userdel -r usernameRemove user and home directory when deprovisioning

Troubleshooting

Quick checks for common useradd errors.

IssueCheck
useradd: user 'name' already existsConfirm with id name or choose a different username
group 'name' does not existCreate group first with groupadd or use an existing group
Home directory not createdUse -m and verify defaults with useradd -D
Cannot log in after creationCheck shell (getent passwd user) and set password with passwd
UID conflictVerify used UIDs in /etc/passwd before assigning -u manually

Use these guides for full account lifecycle tasks.

GuideDescription
How to Create Users in Linux Using the useradd CommandFull useradd tutorial with examples
usermod Command in LinuxModify existing user accounts
How to Delete Users in Linux Using userdelRemove users safely
How to Add User to Group in LinuxManage supplementary groups
How to Change User Password in LinuxSet and rotate account passwords