How can I create an administrator user from the command line?

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?)

Solution 1:

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.

Solution 2:

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.

Solution 3:

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