Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

3 Answers 3

up vote 35 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
wow, wonderful explanation :p – Silver Moon Nov 29 '14 at 7:03


At the end, all I can say for sure is that different operating systems have adduser as an alternative to useradd whose functionality is distro-specific. It can be just a simple alias to useradd or a script with additional options.

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

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.