Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What's the difference between useradd and adduser? When/why should I prefer using one or the other?

share|improve this question
What operating system are you referring to? – mfinni Jan 5 '11 at 14:39
Also - – mfinni Jan 5 '11 at 14:39
This is a Debian Linux based question. – unixman83 Mar 2 '12 at 18:45
Same question on Ask Ubuntu and on Super User. – zrajm Dec 5 '13 at 9:39
up vote 31 down vote accepted

In the case of Debian and its related distros, adduser is a friendlier interactive frontend to useradd.

share|improve this answer
It is not about friendliness, it's about usage. You can use adduser for interactively adding an account or you can use useradd for batch adding accounts. useradd has also an interactive mode. – tkorkunckaya Sep 26 '12 at 9:49
@tkorkunckaya: so what usage based on your description then if useradd can also do interactive mode? – lpapp Jun 19 '14 at 9:48

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.

share|improve this answer
+1. man useradd : "useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead." – petrus Jan 5 '11 at 15:41
I believe adduser also interactively fills in the GECOS fields – Michael Lowman Jan 5 '11 at 16:07
@petrus why so? – lpapp Jun 19 '14 at 9:48

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.

See also:

share|improve this answer

On FreeBSD:
adduser is a "friendly" interactive Q&A way to add local users.
useradd doesn't exist.

share|improve this answer

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.

share|improve this answer
Correct on RH, but some dists such as ubuntu has different binaries. – Ency Jan 5 '11 at 14:48
True, i'll edit my answer. – Sirex Jan 5 '11 at 14:58
Many binaries and scripts alter their behavior based on the command line invocation. – jscott Jan 5 '11 at 15:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.