关于Ubuntu下is not in the sudoers file解决方法

  当我在postgres用户下去执行sudo vim demo.sql需要用管理员权限运行时,并且输入本用户的密码,但是输入之后提示如下:

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

  翻译一下:postgres 不在sudoers文件中。将报告此事件。

  这时候我们可以根据提示去找到这个 sudoers file 。也就是就是在/etc/sudoers文件里给该用户添加权限。

 解决方法如下:

  1.切换到root用户下

  2./etc/sudoers文件默认是只读的,对root来说也是,因此需先添加sudoers文件的写权限,命令是:

chmod u+w /etc/sudoers

  3.然后就可以编辑sudoers文件

vim /etc/sudoers

  找到这行 root ALL=(ALL) ALL ,在他下面添加 xxx ALL=(ALL) ALL (这里的xxx是你的用户名).

root ALL=(ALL) ALL
progres ALL=(ALL) ALL

  PS : 这里说下你可以sudoers添加下面四行中任意一条。

1 youuser   ALL=(ALL)  ALL
2 %youuser  ALL=(ALL)  ALL
3 youuser   ALL=(ALL)  NOPASSWD: ALL
4 %youuser  ALL=(ALL)  NOPASSWD: ALL

  解释如下:

  • 第一行:允许用户youuser执行sudo命令(需要输入密码).
  • 第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
  • 第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
  • 第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

  4.撤销sudoers文件写权限,命令:(通常/etc下文件均是不可写的文件,这时可以:)

chmod u-w /etc/sudoers

  然后再去执行:

  sudo vim demo.sql,输入密码即可。

  over~~~,参考,感谢:https://www.linuxidc.com/Linux/2016-07/133066.htm,~~~