Allgemein

useradd Cheatsheet

useradd Cheatsheet

Basic Syntax

Core useradd command forms.

Command Description
sudo useradd username Create a user account with defaults
sudo useradd -m username Create user and home directory
sudo useradd -m -s /bin/bash username Create user with explicit login shell
sudo useradd -m -c "Full Name" username Create user with GECOS/comment field
sudo useradd -D Show current default useradd settings

Home Directory and Shell

Set home path and login shell at creation time.

Command Description
sudo useradd -m username Create /home/username if missing
sudo useradd -M username Create user without home directory
sudo useradd -d /srv/appuser -m appuser Create user with custom home path
sudo useradd -s /bin/zsh username Set login shell to Zsh
sudo useradd -s /usr/sbin/nologin serviceuser Disable interactive login for service account

Groups and Permissions

Assign primary and supplementary groups during creation.

Command Description
sudo useradd -m -g developers username Set primary group to developers
sudo useradd -m -G sudo username Add user to supplementary sudo group
sudo useradd -m -G docker,developers username Add user to multiple supplementary groups
id username Verify UID, GID, and group membership
groups username Show group memberships for a user

UID, Expiry, and Inactive Policy

Control account identity and lifetime.

Command Description
sudo useradd -m -u 1050 username Create user with specific UID
sudo useradd -m -e 2026-12-31 username Set account expiration date
sudo useradd -m -f 30 username Disable account after 30 inactive days
sudo useradd -m -k /etc/skel username Use skeleton directory for initial files
sudo chage -l username Inspect account aging and expiry policy

Password and Account Activation

Set password and verify account usability.

Command Description
sudo passwd username Set or reset user password
sudo passwd -l username Lock account password login
sudo passwd -u username Unlock account password login
sudo su - username Test login environment for new user
getent passwd username Confirm user entry in account database

Defaults and Safe Workflow

Check defaults first and validate each account creation.

Command Description
sudo useradd -D Show defaults (HOME, SHELL, SKEL, etc.)
sudo useradd -D -s /bin/bash Change default shell for future users
sudo useradd -m newuser && sudo passwd newuser Common two-step creation flow
sudo usermod -aG sudo newuser Grant admin privileges after creation
sudo userdel -r username Remove user and home directory when deprovisioning

Troubleshooting

Quick checks for common useradd errors.

Issue Check
useradd: user 'name' already exists Confirm with id name or choose a different username
group 'name' does not exist Create group first with groupadd or use an existing group
Home directory not created Use -m and verify defaults with useradd -D
Cannot log in after creation Check shell (getent passwd user) and set password with passwd
UID conflict Verify used UIDs in /etc/passwd before assigning -u manually

Related Guides

Use these guides for full account lifecycle tasks.

Guide Description
How to Create Users in Linux Using the useradd Command Full useradd tutorial with examples
usermod Command in Linux Modify existing user accounts
How to Delete Users in Linux Using userdel Remove users safely
How to Add User to Group in Linux Manage supplementary groups
How to Change User Password in Linux Set and rotate account passwords