基于文件本身:
接下来是主要部分:哪些用户可以在哪些机器上运行哪些软件(sudoers文件可以在多个系统之间共享)。句法:
user MACHINE=COMMANDS
好的,例如我们有这个:
john.doe ALL=(ALL:ALL) /sbin/ifup, /sbin/ifdown
这意味着 john.doe 有权使用 sudo 发出 ifup 和 ifdown 命令。我不明白的是括号里的部分。我只知道第一个是用户,第二个是组。但是,当我们已经在第一行指定了用户时,这有什么用呢?谢谢
答案1
分解你的例子:
- 约翰·多伊
- 全部=
- (全部:全部)
- /sbin/ifup、/sbin/ifdown
(1) 用户 john.doe 可以 (2) 无论计算机名称如何 (3) 假装是任何 (ALL) 用户 ID,或属于任何 (:ALL) 组以运行 (4) 这些命令。例如,john.doe/sbin/ifup
以他希望的任何用户身份运行命令:
$ sudo -u vahid2015 /sbin/ifdown eth0
你会受到指责!
通常您不需要 (ALL:ALL) 部分,默认为 root,这是最常见的情况。如果用户应该运行一个命令,比如说,使用 (operator) 作为 uid 或 (:operator) 作为 gid。
如果可能的话最好指定机器名称,但是使用允许在一组受管理的机器上维护ALL=
一个公共文件。sudoers