Super User is a question and answer site for computer enthusiasts and power users. 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

I wonder: Why are there these two commands on Debian Linux, with very similar names and functionality? This has always been confusing for me.

  • Is any of them superior to another?
  • Why aren't they merged into one?
  • Is there any significant difference between them?
  • Which one should I use? Or does it depend on a use case?
share|improve this question
up vote 40 down vote accepted

useradd is native binary compiled with the system. But, adduser is a perl script which uses useradd binary in back-end.

adduser is more user friendly and interactive than its back-end useradd. There's no difference in features provided.

share|improve this answer

The main advantage to adduser over useradd is dealing with system level users. With adduser the system level users account when created puts a user directory in home for the system user where useradd does not automatically. If you read the man they are essentially the same except for system level users and associated home directories are automatic. adduser creates a /home/user directory automatically for system level users where there is not a provision in useradd, except if specified by -m option. The other readings I have come across generically state that UID and GUID are assigned by accepted conformal Debian standards in adduser.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .