974

After I add a user using adduser, I can't see it via System > Administration > Users and Groups unless I log out and then log in again. Is that normal?

Also, can I set a newly added user as a sudoer or do I have to change that only after adding it? How can I do that via the shell?

Finally, can I delete the original user that was created upon initial installation of Ubuntu, or is this user somehow 'special'?

7 Answers 7

1197

Just add the user to the sudo group:

sudo adduser <username> sudo

The change will take effect the next time the user logs in.

This works because /etc/sudoers is pre-configured to grant permissions to all members of this group (You should not have to make any changes to this):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

As long as you have access to a user that is in the same groups as your "original" user, you can delete the old one.


Realistically, there are also other groups your new user should be a member of. If you set the Account type of a user to Administrator in Users Settings, it will be placed in at least all of these groups:

adm sudo lpadmin sambashare

Because your system configuration may vary, I suggest taking a look at the output of groups <username> to see what groups are normally in use.

17
  • 1
    @Dziamid I'm not sure what the sudo group is for. Let's find out.
    – ændrük
    May 17, 2011 at 1:49
  • 9
    Please note that the admin group doesn't exist in 12.04 LTS.
    – rxgx
    Jun 12, 2012 at 1:10
  • 17
    this didn't work for me. still can't use sudo.
    – chovy
    Oct 31, 2013 at 7:37
  • 14
    Had to log in again for it to work.
    – PeterM
    Jun 9, 2015 at 8:06
  • 1
    Is username a new user you're creating or an existing user that is somewhere that exists already? Jan 3, 2016 at 4:15
241

I did

sudo usermod -a -G sudo <username>

as recommended here.

7
  • 43
    group sudo does not exist
    – Aaron Esau
    Sep 2, 2016 at 3:55
  • The only working solution here. Ubuntu 16
    – Makan
    Sep 27, 2017 at 21:47
  • 7
    For an existing user, this is the correct solution. It should be marked as the answer.
    – Yokai
    Nov 13, 2017 at 6:30
  • 3
    Do not forget -a flag or you will remove user from all groups except sudo Aug 28, 2018 at 15:51
  • 1
    This isn't the answer, the answer is to add the line <username> ALL=(ALL) ALL to sudoers file via the visudo command.
    – Owl
    Jan 7, 2019 at 18:51
99

Open the sudoers file: sudo visudo will open the /etc/sudoers file in the editor defined in $EDITOR (probably GNU nano - set the variable if it's not what you want, eg export EDITOR="nano" and try sudo visudo again).

Add the below line to the end of the file.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Then perform WriteOut with Ctrl + O. The editor will ask you for the file name to write into. The default will be a temporary file that's used by visudo to check for syntax errors before saving to the actual sudoers file. Press Enter to accept it. Quit the nano editor with Ctrl + X.

Done!

7
  • 11
    It would be inadvisable to explicitly add a single user to the sudoers file instead of simply adding that user to the appropriate group sudo.
    – Kzqai
    May 5, 2014 at 18:56
  • 3
    with sudo visudo you can output to /etc/sudoers.tmp, when leaving the editor it will overwrite /etc/sudoers by itself
    – Climbatize
    Apr 2, 2015 at 19:44
  • 1
    and visudo will verify the syntax to make sure there are no errors
    – mchid
    Jun 29, 2015 at 9:32
  • 2
    The other solutions work great for OSs with a built in sudo group, but for the occasional system without a dedicated sudo group, this solution works. The only recommendation I have is you may want to avoid putting sudo itself inside the procedure, as it may not be setup yet! Easy to workaround by doing su - and then simply visudio. This works on Gentoo.
    – tresf
    Feb 16, 2018 at 18:21
  • 2
    Should I also add <username> ALL=(ALL) NOPASSWD: ALL ?
    – alper
    Dec 26, 2021 at 19:08
33

One thing I have to add that I'm sure a lot of people don't understand:

Once you have already done a adduser "username", you can still come back and do a adduser "username" sudo, and it will then add that user to the group properly.

It actually won't work the first time around like sudo adduser username sudo. It will give you an error. Which in summary means you must first make the user account before you can add them to a group.

17

on CentOS, I do as root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers
15

The following snippet grants root access to username without explicitly logging in as root.

Make sure that the user is added to sudo group first. Tested on Ubuntu 16.04.1 LTS.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"
3
  • does this work on Ubuntu ? Jan 3, 2017 at 11:29
  • 1
    Yes checked on Ubuntu 16.04
    – Sandeep
    Feb 11, 2017 at 8:44
  • 5
    why not in one line: useradd -m username --groups sudo
    – aidanmelen
    Aug 12, 2017 at 19:35
12

All members of the group admin, are in Ubuntu by default allowed to use sudo, so the easiest way is to add the user account to the admin group.

If you do not want to give the user account full root access, you need to edit the /etc/sudoer file with visudo (it makes sure that you do not have any syntax errors in the file and lose sudo capability altogether) in a way that you specify what commands this user (or a new group) can execute as root.

The sudoer manual will give you more information about this. You can specify which commands are permitted by a particular user/group to be executed as root.

3
  • 1
    I thought that was what the wheel group was for? Oct 15, 2010 at 13:05
  • @Marco I'm not familiar with that. Can you explain a little more?
    – ændrük
    Oct 15, 2010 at 13:19
  • @MarcoCeppi, the wheel group was used on some systems to restrict what users could use su. Ubuntu uses sudo and the admin group.
    – psusi
    Nov 17, 2011 at 15:03

You must log in to answer this question.

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