35

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

35

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:

  • Then how do I save the file – D'Arvit Sep 11 '09 at 8:55
  • 1
    Never mind, realized it happened on the exit. – D'Arvit Sep 11 '09 at 8:59
  • +1. On some systems, the /etc/sudoers is readonly, and editiion is forced through the visudo command. – Laurent Etiemble Dec 16 '09 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. – David Schwartz Feb 6 '13 at 6:48
17

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
    admin group doesn't exist since at least Ubuntu 10.04 – Artem Pakk Jun 29 '11 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.

  • 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 – nagul Sep 11 '09 at 9:04
  • 3
    Why did you add quotes to your example, then? – grawity Sep 11 '09 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
    Beware that NOPASSWD may be a security risk. – Johan Nov 4 '09 at 5:41
0

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

    $ sudo gpasswd -a <username> sudo

    Adding user <username> to group sudo
0

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

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

sudo adduser <username> sudo

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.