去评论
海欣资源

sudo错误-xxx is not in the sudoers file.This incident will be reported

cmd
2022/06/07 01:36:35
1.问题
xxx is not in the sudoers file.This incident will be reported.

2.分析
该问题的根本原因是由于Linux的超级用户权限是由sudo动态赋予的,在新增的用户不会默认赋予sudo权力,因此若需要该用户有sudo的权限,需要根据一定的规则进行赋予。

3.解决方法
以下两种方法都是基于现有的用户能够获取root权限进行,不管是root用户本身还是用户A(用户A能够使用sudo)
3.1 手动修改

1.赋予sudoer文件写权限
sudo chmod u+w /etc/sudoers

2.编辑sudoers文件,给对应的用户添加sudo权限
sudo vi /etc/sudoers

找到如下并参照书写,这里以给用户A添加sudo权限:
root        ALL=(ALL:ALL) ALL
添加
A        ALL=(ALL:ALL) ALL

3.撤销sudoers的写权限(否则异常)
sudo chmod u-w /etc/sudoers

3.2 命令方式修改–sudo visudo
咱细心的人已经看到3.1图中的注释说明了,咱Linux还是很顶的,说明到位,一看即懂,再贴下:

这里可以看到,这应该是标准的操作方式-- sudo visudo。
另外,添加的内容参考3.1即可。

4.扩展说明
关于上面提到的A ALL=(ALL) ALL进行以下说明,该条可以由以下任意一条替换,根据实际需求使用:

  1. user            ALL=(ALL)                ALL
  2. %user           ALL=(ALL)                ALL
  3. user            ALL=(ALL)                NOPASSWD: ALL
  4. %user           ALL=(ALL)                NOPASSWD: ALL
第一行:允许用户user执行sudo命令(需要输入密码).
第二行:允许用户组user里面的用户执行sudo命令(需要输入密码).
第三行:允许用户user执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组user里面的用户执行sudo命令,并且在执行的时候不输入密码.