Always use adduser (and deluser when deleting users).
The useradd, userdel and usermod commands are lowlevel utilities which are there for historical reasons, while adduser/deluser Do The Right Thing™. (I remember which to use by thinking that user* comes after adduser/deluser in the alphabet, and therefore is "worse".)
According to the respective manpages (on Ubuntu 12.04 Precise Pangolin, i.e. a Debian derivative system).
Manpage for adduser says:
(Emphasis added.)
adduser and addgroup add users and groups to the system according to command line
options and configuration information in /etc/adduser.conf. They are friendlier
front ends to the low level tools like useradd, groupadd and usermod programs,
by default choosing Debian policy conformant UID and GID values, creating a home
directory with skeletal configuration, running a custom script, and other features.
adduser and addgroup can be run in one of five modes:
Manpage for useradd says:
useradd is a low level utility for adding users. On Debian, administrators should
usually use adduser(8) instead.
On Ubuntu, useradd simply creates an entry in the user database (/etc/passwd etc.).
adduser on the other hand also creates a home directory for the user, populates it with the content of /etc/skel and lets you set the password interactively.
In the case of Debian and its related distros, adduser is a friendlier interactive frontend to useradd.
Always use
adduser
(anddeluser
when deleting users).The
useradd
,userdel
andusermod
commands are lowlevel utilities which are there for historical reasons, whileadduser/deluser
Do The Right Thing™. (I remember which to use by thinking thatuser*
comes afteradduser/deluser
in the alphabet, and therefore is "worse".)According to the respective manpages (on Ubuntu 12.04 Precise Pangolin, i.e. a Debian derivative system).
Manpage for
adduser
says:(Emphasis added.)
Manpage for
useradd
says:See also:
adduser
anduseradd
? (on Ask Ubuntu).On Ubuntu, useradd simply creates an entry in the user database (/etc/passwd etc.).
adduser on the other hand also creates a home directory for the user, populates it with the content of /etc/skel and lets you set the password interactively.
lrwxrwxrwx. 1 root root 7 Nov 17 13:52 /usr/sbin/adduser -> useradd
One is a "shortcut" / "symbolic link" to the other. So no difference.
This is on redhat linux (and centos / fedora), it may not hold true on other distros.
On FreeBSD:
adduser
is a "friendly" interactive Q&A way to add local users.useradd
doesn't exist.