您的当前位置:首页正文

【Linux 报错】普通用户执行不了 sudo ?报错:“xxx is not in the sudoers file.This incident will be reported.“ 进来教你配置

2024-11-07 来源:个人技术集锦




一、问题原因

普通用户想要执行 sudo,目的是为了对超级用户权限进行提权(暂时借用超级用户的力量执行某些操作)
但普通用户不能任意的使用 sudo,必须经过超级用户 root 的许可:即把你加入许可名单(the sudoers file)



二、解决办法


1、进入超级用户 root 的账户


2、使用命令进入配置 sudoers 文件
vim /etc/sudoers

(温馨提示:若无法使用 vim,请先安装)
可以考虑切换到超级用户,使用该命令:apt install vim,安装vim
或者切换到一个可以使用 sudo 的普通用户下,使用命令:sudo apt install vim


3、在 vim 打开的 sudoers 文件中,找到下图这一栏,这里就是所谓的许可名单了(root就是我的超级用户名)

4、将光标停在 root 这一行(光标就是绿色这个,光标可以通过键盘的上下左右键移动)

5、执行复制粘贴命令

  • 键盘按下:yy
  • 再按下:p
  • 可以发现复制粘贴了一行:root ALL=(ALL:ALL) ALL

6、键盘按下:i (进入 插入模式)

7、调整光标位置,将第二行的 root 改成你想要添加进入的普通用户名(就是刚刚复制下来的那行),代表将普通用户添加进入 许可名单

如:我要添加普通用户 mine

8、再按键盘左上角的 Esc 键退出插入模式

9、最后依次输入:

# 先按一个冒号 ":"
  命令:	Shift + ; 

# 输入:
  命令:	wq!

即可退出保存 sudoers 文件

这样就设置好了许可名单,你添加进入许可名单的 普通用户就可以使用 sudo 命令了



三、一些常见疑问与问题


1、为什么超级用户还要使用命令 wq! 强制退出 vim 打开的 sudoers 文件?

使用 ls -ld 命令查看 sudoers 文件的文件属性,可以发现,该文件的拥有者即为超级用户 root,但是 root 对该文件也只有 r 读权限,并没有写权限

当我们在 sudoers 文件中添加一个普通用户时,即为修改该文件,但没有写权限,当然不被系统允许



2、为什么 vim 打开 sudoers 文件,里面一片空白?

原因:你肯定是使用 普通用户打开的 sudoers 文件

解决办法:切换到超级用户 root ,才能真正打开 sudoers 文件

Top