“ sudo”和“ admin”组有什么区别?


69

我注意到两个组在中被授予了外观相似的权限/etc/sudoers

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

我的用户帐户具有“管理系统”特权,该用户帐户位于该admin组中,并且该组中似乎没有任何用户sudo。这两个小组是干什么的?

Answers:


55

Ubuntu 12.04 LTS及更高版本

管理员已添加到sudo组中,但是admin为了向后兼容而支持该组。从发行说明中

直到Ubuntu 11.10,通过sudo工具通过adminUnix组授予了管理员访问权限。在Ubuntu 12.04中,将通过该sudo组授予管理员访问权限。这使得Ubuntu与上游实施和Debian更加一致。出于兼容性目的,该admin组将继续在12.04中提供sudo /管理员访问权限。

进行全新安装时不会创建该文件,但是如果从以前的发行版升级,它仍然存在。无论哪种方式,该admin组都会出现在/etc/sudoers文件中。

请参阅实施细节官方文档


凉。谢谢!你能请添加之间的差异的解释ALL=(ALL)ALL=(ALL:ALL)
wedi

没关系,只是在下面的Aleksandr答案中看到了答案……
wedi

21

Ubuntu 11.10及更早版本

默认情况下sudoUbuntu中不使用该组:

  • 在安装过程中创建的用户属于admin组,不属于sudo;
  • 我从未阅读过使用该sudo小组的建议或指南。
  • 没有人会觉得需要使用sudo小组,因为admin小组可以满足所有一项需求。

相反,在Debian上启用的组/etc/sudoerssudo组,没有任何admin组。但是安装期间创建的用户不会放入该组,因为Debianroot启用该帐户。如果需要,应该明确地执行此操作。

此外,FedoraDebian相似,已root启用,并且在安装过程中没有为用户创建默认权限。但是配置的管理组/etc/sudoers是更传统的组wheel

总而言之,我认为Ubuntu中的sudo group 没有用,只是Debian的遗产。


在我的Ubuntu系统,无需用户的成员sudogrep '^sudo:' /etc/group(刚安装)。不确定Debian,我刚刚在/etc/sudoers文件中添加了自己的名字。
Lekensteyn

1
@Lekensteyn:就像我说的那样,在Debian上,您应该将用户明确添加到sudo组中以获得管理特权:su -c "gpasswd -a $USER sudo",无需修改/etc/sudoers。或者,您可以采用直接使用root帐户的Debian方式。
enzotib

16

没有安全性差异。

两者都可以100%无限制地访问操作系统提供的任何内容。

在/ etc / sudoers文件不同的是(ALL)VS (ALL:ALL)。第一个意味着您可以以任何用户身份运行命令。第二,您可以以任何用户任何组的身份运行command 。

/ etc / sudoers中显示的方式这两个组都需要输入自己的密码才能以root用户身份执行命令。

两者都可以像这样的root shell:

sudo su

9
没有“任何组”位我该怎么办?
tudor

如果明确允许仅由特定组执行程序(ALL),则不属于该组的具有的用户将无法执行该命令。就像这里一样,admin不在webuser组中的用户无法执行firefox
斯坦凯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.