作为管理员,如何删除用户使用 SUDO 的权限。有没有简单的命令可以做到这一点?
答案1
只有组中的用户sudo
可以使用该命令。要从组中sudo
删除用户,请输入(如):jdoe
sudo
root
deluser jdoe sudo
如果不是root
,请输入
sudo deluser jdoe sudo
参考:如何从组中删除用户?
更新
默认情况下,只有组成员sudo
可以使用 运行命令sudo <command>
。这是通过以下代码实现的
# who where as-whom what
%sudo ALL = (ALL:ALL) ALL
在/etc/sudoers
文件中。这意味着:
- 小组成员
sudo
(WHO)可能会运行 - 在任何计算机上(在哪里)
- 任何用户和任何组(作为谁)
- 任何命令(什么)
这是 Ubuntu 上的默认设置,因此向组中添加或删除用户sudo
会授予或撤销使用 运行命令的权限sudo <command>
。
但还可以将其他组和/或用户添加到该/etc/sudoers
文件(或下面/etc/sudoers.d/
),如下所示:
alice myhost = (bob) /bin/ls
这意味着:用户alice
可以/bin/ls
以用户身份运行bob
,但只能在主机上运行myhost
。
alice
现在可以这样做sudo -u bob ls /home/bob
。这与组内成员身份无关sudo
。如果你有这样的设置,那么不是足以alice
从sudo
组中删除。相反,您需要alice
从/etc/sudoers
文件中删除该行。
这在哪里sudoers
仅当您在不同的计算机之间共享文件并且希望在每台计算机上保持相同时,此部分才有意义。
答案2
关于 sudo 组的答案是正确的最多情况。还有另一种方法可以授予用户 sudo 权限,即直接将用户名添加到 sudoers 文件中。如果已添加用户名,则必须将其从该文件中删除 —— 通常是包含用户名的整行。这不是常见的情况,但有可能。要编辑 sudoers 文件,请使用 visudo。