Frequently Asked Question
What's the difference between useradd and adduser?
useradd is the low-level account-creation binary that ships with every Linux
distribution. It is a thin wrapper over the system calls and configuration files,
and it does the minimum you ask for: by default it does not create a home
directory, not set a password, and not assign a login shell. You have to spell
everything out, useradd -m -s /bin/bash -G sudo alice and then passwd alice.
adduser is a friendlier interactive script that ships on Debian and Ubuntu (and
a different script of the same name on some other distributions). It calls
useradd under the hood but fills in sensible defaults: creates the home directory
from /etc/skel, prompts for a password, asks for the GECOS fields, and sets the
shell from /etc/adduser.conf. For everyday administration adduser is what most
people reach for on Debian-family systems; useradd is what scripts use because
it is non-interactive and identical across distributions.