Per*_*uck 11
只有sudo
组内的用户可以使用该sudo
命令。要从jdoe
组sudo
类型中删除用户(如root
):
deluser jdoe sudo
Run Code Online (Sandbox Code Playgroud)
如果不是root
,请键入
sudo deluser jdoe sudo
Run Code Online (Sandbox Code Playgroud)
参考:如何从组中删除用户?
正如@Aleks G在评论中指出的那样,以上只是事实的一半:
默认情况下,只有sudo
组的成员可以运行带有sudo <command>
. 这是由行完成的
# who where as-whom what
%sudo ALL = (ALL:ALL) ALL
Run Code Online (Sandbox Code Playgroud)
在/etc/sudoers
文件中。它的意思是:
sudo
(who)可以运行这是 Ubuntu 上的默认设置,因此在组中添加或删除用户会sudo
授予或撤销使用sudo <command>
.
但也可以将其他组和/或用户添加到/etc/sudoers
文件(或以下/etc/sudoers.d/
),如下所示:
alice myhost = (bob) /bin/ls
Run Code Online (Sandbox Code Playgroud)
这意味着:用户alice
可以/bin/ls
以用户身份运行,bob
但只能在主机上运行myhost
。
alice
现在可以了sudo -u bob ls /home/bob
。这与sudo
组中的成员身份无关。如果你有这样的设置,那么它是不是足以消除alice
来自sudo
组。相反,您需要alice
从/etc/sudoers
文件中删除该行。
在这里,如果你分享的部分是唯一的相关sudoers
在不同电脑上的文件,并希望保持它相同的每台计算机上。