linux sudoers 中没有的用户为什么可以使用sudo权限

谈论Linux系统中的sudo权限,这确实是一个大问题。
我从事这个行业这么多年,见过很多关于 sudo 权限的困惑,特别是当用户认为自己有权限但检查后发现问题并不在于权限设置时。

我记得一位系统管理员曾经抱怨他设置了一个名为 John 的用户,但 John 根本无法使用 sudo 运行某些管理命令。
一开始我觉得很奇怪,但是查了之后发现,虽然John的用户名是John,但他并不是Wheel组的成员,而且Wheel组的人都有sudo权限。
当时我想系统管理员在配置用户时可能只考虑了用户名,而没有关注用户所属的组。

后来我发现了一个更有趣的情况。
在某一时刻,用户显然没有在 /etc/sudoers 文件中看到他们的名字或组的名称,但仍然能够使用 sudo。
当时不太明白,但是查了资料后发现,授予sudo权限不仅仅局限于文件中的直接设置,还和用户的组身份有关。
例如,如果你的组在 sudoers 文件中有权限设置,那么该组中的人当然将拥有 sudo 权限。

还有一次系统管理员问我:我怎么知道一个用户是否有sudo权限?我告诉他不要先看 sudoers 文件,而是检查用户所属的组。
如果他属于Wheel组,他基本上有sudo权限。
我当时也提醒过他,这个文件里的权限设置有时候还是挺复杂的。
还有一些高级设置,例如 Cmnd_Alias ​​​​和 User_Alias,但这些也是基于组身份的。

要了解用户是否具有sudo权限,不仅可以查看用户名,还可以查看用户所属的组以及sudoers文件的配置。
这些知识对于系统管理员来说可能有点极端,但它确实很重要。
毕竟,您不希望没有 sudo 权限的用户突然拥有它们,不是吗?因此,花更多的时间理解这些规则将对维护系统的安全大有帮助。

LINUX怎么给用户sudo权限_Linux为普通用户添加sudo权限的方法

等等,昨天我帮邻居老王安装系统时发生了一些事情。
在他的旧Debian系统中,管理员帐户是root,但他总是抱怨每次输入密码太麻烦。
我说那给他sudo权限怎么样?他看起来很困惑,问我该怎么办。

我才刚刚开始。
首先使用gegent passwd wang查看。
老王的账号UID是5 01 ,主目录是/home/wang。
没有问题。
所以我直接sudo usermod -aG sudo wang。
随意告诉他,看你添加了sudo组后,如果你以后sudo ping服务器,它会自动让他以root身份运行。

切换到老王账号试了一下。
输入密码并sudoping后,显示root@localhost,果然生效了。
老王相当高兴,说这比每次输入root密码方便多了。
我对了,记住下次密码不要太简单了。
上次我帮你重置密码时,他使用的是“1 2 3 4 5 6 ”。

突然想到他的系统好像还是用apt-get来更新,不像现在新系统都推荐apt。
sudo 权限的添加在 Debian 和 Ubuntu 上一直相当稳定。
但是,如果您使用的是CentOS Stream,则可能需要注意系统版本,因为早期版本的sudo配置可能有所不同。
比如我上次使用CentOS 7 的时候,用visudo编辑sudoers文件的时候就非常小心,生怕出错。
在 /etc/sudoers 文件中的 UserprivilegeSpecification 下,root 条目是默认值。
添加用户权限时,如wang ALL=(ALL:ALL) ALL。
我认为这个 ALL=(ALL:ALL) 部分意味着允许用户 Wang 以任何用户身份执行任何命令,对吗?