135

After logging into ssh in a linux machine, I got this message:

'Username' is not in the sudoers file. This incident will be reported.

How can I resolve this? I'm connecting ssh to my virtual private server.

I need to have sudoers privilegies.

mpb
  • 5
  • 3
Danish Arman
  • 1,427
  • 2
  • 8
  • 7
  • 2
    do your user have admin access? If no then login with root and add your user to `/etc/sudoers` file – smn_onrocks Dec 14 '17 at 05:47
  • 2
    https://unix.stackexchange.com/questions/179954/username-is-not-in-the-sudoers-file-this-incident-will-be-reported – Stephen C Jul 20 '19 at 12:43
  • 1
    And https://askubuntu.com/questions/2214/how-do-i-add-a-user-to-the-sudo-group And https://superuser.com/questions/866582/username-is-not-in-the-sudoers-file-this-incident-will-be-reported – Stephen C Jul 20 '19 at 12:47

11 Answers11

186

Open file

su root 
nano /etc/sudoers

Then add the user below admin user like below syntax.

user_name ALL=(ALL)  ALL
sanath meti
  • 5,179
  • 1
  • 21
  • 30
71

Both the above answers are correct as far as they go but it is easier to add your user to the sudo group in debian based systems (Ubuntu, kbuntu, debian, etc) and the wheel group under RedHat based systems (RedHat, Fedora, CentOS, etc)

usermod -a -G sudo user
or
usermod -a -G wheel user 
Rodney Howard
  • 796
  • 6
  • 7
38

This is a very common error for the beginners. The error occurs because we are trying to access/update something with super privileges from the user instead of root -user.

Hence, to solve this,we need to make changes in the sudoers file where the root user has been given the privileges. So, switch to root user,run the following command

sudo su 
# vi /etc/sudoers

The editor would open the file, now scroll down to the bottom where you will see a line

#User privilege specification

root     ALL=(ALL:ALL) ALL

username ALL=(ALL:ALL) ALL

As you can see, I have just added my username with all permissions.

Save the file, and exit. Switch back to the user and start using sudo commands with ease.

Sonal
  • 579
  • 5
  • 7
11

At the top of the aforementioned /etc/sudoers file there's an info:

"## This file MUST be edited with the 'visudo' command as root."

In order of doing as we're told, use:

$ su
> Enter root password: *******
$ visudo -f /etc/sudoers

Find the following section of /etc/sudoers file and add your users privileges:

# User privilege specification
root    ALL=(ALL:ALL) ALL
user_name ALL=(ALL) ALL

Save the file (press esc and type :x if vim is your default text editor, for nano press ctrl+o, enter and then ctrl+x).

Type exit to turn off the root shell, and enjoy the power of sudo with your username

wscourge
  • 10,657
  • 14
  • 59
  • 80
7

You should use visudo to edit /etc/sudoers file.

Just run sudo visudo -f /etc/sudoers

and add your username with correct syntax and access rights. You can find more in man sudoers

snowpeak
  • 797
  • 9
  • 25
Viktor Khilin
  • 1,760
  • 9
  • 21
6

Got a slightly different syntax to Rodney's from my host

usermod -aG wheel username

Their explanation was

The user will need to be added to the wheel group.

Use the usermod command to add the user to the wheel group.

You may need to log off and log back in after doing this

Robert Sinclair
  • 4,550
  • 2
  • 44
  • 46
  • 1
    I simply needed to log off and log back in after applying this solution. –  May 09 '20 at 03:48
  • 2
    What if my user already belongs to the wheel group but I still get "'Username' is not in the sudoers file. This incident will be reported."? – Adrian Lopez Sep 09 '20 at 12:10
  • @AdrianLopez the wheel syntax only makes sense if wheel is a sudoers group, which in your case it probably isn't. This answer is also not really helpful, but rather miss informing to be honest. By default wheel isn't in the sudoers file. – Patrick Abraham Nov 26 '21 at 16:00
6
  1. Entered Root using command $ su root. Input Root Password

  2. Install sudo: $ apt-get install sudo -y

  3. Add your < username> $ adduser <username> sudo

  4. $ exit

  5. Then sign up and sign in the < username> session

  6. Finally, check with: < username>@< hostname>:~$ sudo apt-get update

Braian Coronel
  • 22,105
  • 4
  • 57
  • 62
6

If you're unable to find visudo on your system

whereis visudo

Launch this tool

./PATH/visudo

add this line under

User privilege specification

user_name ALL=(ALL)  ALL

Save the changes and here you go !

Olivier D'Ancona
  • 779
  • 2
  • 14
  • 30
4

First, switch/ log into the root user account or an account that has sudo privileges.

Next add the user to the group for sudo users:

  • If you're on Ubuntu members of the sudo group are granted with sudo privileges, so you can use this:

    sudo adduser username sudo
    
  • If you're on CentOS members of the wheel group are granted with sudo privileges, so you can use this::

    usermod -aG wheel username
    

Note: Replace username with your desired username.

To test the sudo access, log into the account that you just added to the sudo users grouP, and then run the command below using sudo:

sudo whoami

You will be prompted to enter the password. If the user have sudo access, the output will be:

root

If you get an error saying user is not in the sudoers file, it means that the user doesn’t have sudo privileges yet.

That's all.

I hope this helps

Promise Preston
  • 24,334
  • 12
  • 145
  • 143
4

try this video, it works for me.

  1. ssh root@localhost
  2. sudo vi /etc/sudoers
  3. insert username in file 'sudoers'
  4. save and exit ssh
Dharman
  • 30,962
  • 25
  • 85
  • 135
0

Add your user to the list of sudoers. This will make it easier to execute commands as the user that you have created will require admin privileges.

sudo adduser username sudo

(Note:- Username is the user you want to give the privileges)

Tej
  • 17
  • 1
  • 4
    this won't work if the user can't use sudo which is what the original poster can't do hence the error message. – Sebastian Apr 27 '21 at 09:38