35

How can I add more users to the "sudoers" file?

7 Answers 7

37

Just edit the file /etc/sudoers.

But you are supped to use /usr/sbin/visudo as your editor, since that will to some sanity checks before you exit.

So that would be:

sudo /usr/sbin/visudo

Here are some links that could be useful:

4
  • Then how do I save the file
    – D'Arvit
    Sep 11, 2009 at 8:55
  • 1
    Never mind, realized it happened on the exit.
    – D'Arvit
    Sep 11, 2009 at 8:59
  • +1. On some systems, the /etc/sudoers is readonly, and editiion is forced through the visudo command. Dec 16, 2009 at 8:53
  • 1
    If you have an /etc/sudoers.d directory, don't modify the /etc/sudoers file. Instead, put the entry in its own file in that directory. Feb 6, 2013 at 6:48
19

My preferred method is to add them to the sudo group (admin before Ubuntu 10.04).

In Ubuntu Linux, the sudo group can run sudo and it is easy to add someone to that group:

usermod -a -G sudo username

Your mileage may vary with other distros, however, someone thought the group method made more sense than the sudoers file getting itself updatified. Less room for getting it wrong and locking everyone out of being superuser seems to be the reason.

1
  • 1
    admin group doesn't exist since at least Ubuntu 10.04
    – Artem Pakk
    Jun 29, 2011 at 11:01
13

Just edit your sudoers file

sudo visudo -f /etc/sudoers

and add the username like 'uk' without quotes

username ALL = (ALL)ALL

Save and exit would give the access.

2
  • 6
    Like Johan says, visudo should be used to edit the sudoers file. A borked sudo file can lead to a world of avoidable pain. en.wikipedia.org/wiki/Visudo
    – user4358
    Sep 11, 2009 at 9:04
  • 3
    Why did you add quotes to your example, then? Sep 11, 2009 at 10:15
2

visudo opens the sudoers file and has samples for simple situations.

You may have to add option 'NOPASSWD' if user scripts would use commands/binaries which can be run only with "sudo", e.g.

ALL=(ALL) NOPASSWD: ALL

It is also possible to specify group instead of user name. So you need not list each and every user, e.g.

%users  localhost=/sbin/shutdown -h now
1
  • 1
    Beware that NOPASSWD may be a security risk.
    – Johan
    Nov 4, 2009 at 5:41
1

In Amazon Linux, there is /etc/sudoers.d and inside it is cloud-init which contains:

ec2-user ALL = NOPASSWD: ALL

# User rules for ec2-user
ec2-user ALL=(ALL) NOPASSWD:ALL

So all I did was cp cloud-init vlad, then edit vlad and replace all instances of ec2-user with vlad. Works fine, and it's obviously as it was intended to be done, rather than editing existing files.

0

Add to sudo group (Debian / Ubuntu specific step):

    $ sudo gpasswd -a <username> sudo

    Adding user <username> to group sudo
0

just by execute this command by a user which has a sudoer permission :

sudo adduser <username> sudo
0

You must log in to answer this question.

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