根据/etc/sudoers(Fedora 13) 中的评论:
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
Run Code Online (Sandbox Code Playgroud)
我的两个相关问题:
ALL=(ALL) ALL以下行中的含义是什么:
root ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)我已经测试了这两行,但我无法弄清楚它们在功能上有何不同:
superadm ALL=(ALL) ALL
superadm ALL=ALL
Run Code Online (Sandbox Code Playgroud)我已经阅读了手册,但语法规范很难遵循。我已经得出该(ALL) ALL部分是命令和标签规范,但我仍然无法理解它。
Sté*_*nez 97
注意:我正在回答1.,因为 Ignacio已经回答了 2. .
在以下sudo条目中:
superadm ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
有四个字段:
ALL.superadm将能够以更高权限运行。ALL表示所有命令。否则使用逗号分隔的命令列表。(…)是可选的)指定superadm用户将能够以哪些用户(和组)运行以下命令。ALL意味着他们可以选择任何东西(不受限制)。如果省略该字段,则与(root).例子:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
Run Code Online (Sandbox Code Playgroud)
在这里,alan允许运行两个命令/bin/ls和/bin/killas root(或bin),可能具有附加operator或system组权限。
因此alan可以选择以用户身份运行ls,bin并具有这样operator的组权限:
sudo -u bin -g operator /bin/ls /whatever/directory
Run Code Online (Sandbox Code Playgroud)
如果-u省略,则与-u root. 如果-g省略,则不会授予额外的组权限。
从sudoers(5)手册页,说明部分,Runas_Spec小节:
第一Runas_List指示哪些用户的命令可以被执行为经由
sudo的-u选项。
...
如果未指定 Runas_Spec,则命令可以作为运行,
root并且可以不指定组。
因此,尝试将命令作为 运行时没有功能差异root,即,不使用-uwith 时sudo。尝试以其他用户身份运行命令时,差异很重要;后者会阻止这种情况,但前者会允许。
| 归档时间: |
|
| 查看次数: |
48745 次 |
| 最近记录: |