首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“根ALL=(ALL:ALL)”和“根ALL=(ALL) ALL”有什么区别?

“根ALL=(ALL:ALL)”和“根ALL=(ALL) ALL”有什么区别?
EN

Ask Ubuntu用户
提问于 2014-11-06 04:27:24
回答 2查看 17.5K关注 0票数 10

这一行是我的Ubuntu 14.04

代码语言:javascript
运行
复制
root    ALL=(ALL:ALL) ALL

第三个ALL的含义是什么?

上线和root ALL=(ALL) ALL的区别是什么?

EN

回答 2

Ask Ubuntu用户

回答已采纳

发布于 2014-11-06 04:55:27

虽然sudoers命令页可能有点难以理解,但给出的一些示例可以帮助澄清一些事情:

dgb =(操作符) /bin/ls、(root) /bin/kill、/usr/bin/lprm --那时,用户dgb可以以operator的形式运行/bin/ls,而以root的形式运行/bin/kill/usr/bin/lprm。我们可以将其扩展为允许dgb在用户或组设置为operator的情况下运行/bin/ls:dgb =(操作符: operator) /bin/ls、(root) /bin/kill、\ /usr/bin/lprm

我们可以推断,给定表单的sudoers行:

代码语言:javascript
运行
复制
A B = (C:D) E

D是指可以使用的组。

因此,第三个ALL指定用户可以在任何组下运行该命令。

如果指定了(ALL)而不是(ALL:ALL),则该用户不能将sudo-g一起用于这些命令:

代码语言:javascript
运行
复制
Runas_Spec
  A Runas_Spec determines the user and/or the group that a command may 
  be run as.             ...  The second defines a list of groups that
  can be specified via `sudo`'s `-g` option.  If both Runas_Lists are
  specified, the command may be run with any combination of users and
  groups listed in their respective Runas_Lists. If only the first is
  specified, the command may be run as any user in the list but no `-g`
  option may be specified.

(上面的例子来自同一节。)

票数 13
EN

Ask Ubuntu用户

发布于 2021-02-24 11:31:04

找到了一个有趣的文档

根ALL=(ALL:ALL) ALL

  • 第一个字段指示规则将应用于 (根)的用户名。
  • 首先,“all”表示此规则适用于所有主机。
  • 第二,“all”表示根用户可以像所有用户一样运行命令。
  • 第三,“所有”表示根用户可以作为所有组运行命令。
  • 第四,“所有”表示这些规则适用于所有命令。
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/546219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档