sudo组文件中的sudo组成员权限

我刚在我的机器上安装了sudoDebian Wheezy)。

当我用visudo编辑sudoers文件时,我注意到了这一行:

%sudo ALL=(ALL:ALL) ALL 

在几个教程和博客(虽然通常基于挤压),这里是build议:

 %sudo ALL=(root) ALL 
  1. 理想情况下,我应该使用哪一个(如果其中之一)?
  2. 第一个是否意味着sudo组中的任何用户都能够像机器的其他任何用户一样运行命令?
  3. 最新的格式是否仍然适用于Wheezy还是有一个更新的方法来做到这一点,例如使用冒号?

谢谢 :-)

  1. 供应商提供的设置ALL=(ALL:ALL) 。 将其更改为仅允许以root身份执行可能会破坏为您的平台编写软件的人所作的一些假设。 除此之外,这是个人喜好。
  2. 正确。
  3. 两种格式都是有效的。 带有冒号的格式除用户外还指定了一个组(用于sudo -g )。

这两者之间的有效区别在于ALL=(ALL:ALL)允许sudo组的成员以任何用户( sudo -u anyuser )或任何组( sudo -g anyuser )运行任何命令。 ALL=(root)格式允许sudo组的成员以root身份运行任何命令。

由于给予root用户访问权限可以有效地让他们运行任何他们想要的命令,所以不让他们以任何用户或组的forms运行一个命令就没有明显的好处。 它强制执行一个额外的抽象级别来运行其他用户的命令。

下面是你如何在两种情况下运行一个命令作为joebob

ALL=(ALL:ALL)sudo -u joebob whoami

ALL=(ROOT)sudo sudo -u joebob whoami或者sudo su -c whoami joebob

我个人更喜欢ALL=(ALL:ALL)因为它使安全日志保持清洁,并显示了在第一行中调用sudo命令的人的直接意图。