当前位置: 首页>>技术问答>>正文


‘sudo’和’admin’组之间有什么区别?

, ,

问题描述

我注意到在/etc/sudoers中授予了两个组similar-looking权限:

# 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组中似乎没有任何用户。这两组是为了什么?

最佳解决方案

Ubuntu 12.04 LTS及更高版本

管理员已添加到sudo组,但支持admin组以实现向后兼容性。来自release notes

Up until Ubuntu 11.10, administrator access using the sudo tool was granted via the admin Unix group. In Ubuntu 12.04, administrator access will be granted via the sudo group. This makes Ubuntu more consistent with the upstream implementation and Debian. For compatibility purposes, the admin group will continue to provide sudo/administrator access in 12.04.

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

请参阅implementation detailsofficial documentation

次佳解决方案

Ubuntu 11.10及更早版本

默认情况下,Ubuntu中不使用sudo组:

  • 安装过程中创建的用户属于admin组,不属于sudo;

  • 没有指南或手册我曾经读过使用sudo组的建议;

  • 没有人觉得需要使用sudo组,因为admin组可以满足所有需求。

相反,在Debian上,在/etc/sudoers中启用的组是sudo组,并且没有admin组。但是,安装期间创建的用户不会放入该组,因为Debian已启用root帐户。如果你愿意,你应该明确地做。

此外,Fedora与Debian类似,启用了root,并且在安装期间没有用户创建的默认权限。但是在/etc/sudoers中配置的管理组是更传统的组wheel

总之,我认为Ubuntu中的sudo组没有用处,只是它是Debian的遗产。

第三种解决方案

没有安全性差异。

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

/etc /sudoers的区别在于(ALL)(ALL:ALL)。第一个意味着您可以像任何用户一样运行命令。第二个 – 您可以像任何用户和任何组一样运行命令。

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

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

sudo su

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1065.html,未经允许,请勿转载。