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.

Further reading and video