帮助我理解 sudoers 文件中的权限语法

帮助我理解 sudoers 文件中的权限语法

基于文件本身:

接下来是主要部分:哪些用户可以在哪些机器上运行哪些软件(sudoers文件可以在多个系统之间共享)。句法:

  user    MACHINE=COMMANDS

好的,例如我们有这个:

john.doe ALL=(ALL:ALL) /sbin/ifup, /sbin/ifdown

这意味着 john.doe 有权使用 sudo 发出 ifup 和 ifdown 命令。我不明白的是括号里的部分。我只知道第一个是用户,第二个是组。但是,当我们已经在第一行指定了用户时,这有什么用呢?谢谢

答案1

分解你的例子:

  1. 约翰·多伊
  2. 全部=
  3. (全部:全部)
  4. /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

相关内容