sudoers 文件中的 sudo 组成员权限

sudoers 文件中的 sudo 组成员权限

我刚刚在我的计算机(Debian Wheezy)上安装了 sudo。

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

%sudo   ALL=(ALL:ALL) ALL

在一些教程和博客中(尽管通常基于 Squeeze),建议如下:

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

谢谢 :-)

答案1

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

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

因为授予某人 root 用户的权限实际上就是允许他们运行他们想要的任何命令,所以不让他们以任何用户或组的身份运行命令并没有立即明显的好处。它强制执行额外的抽象级别以作为其他用户运行命令。

joebob在这两种情况下,运行命令的方法如下:

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

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

我个人更喜欢它,因为它可以使安全日志更干净,并在记录的第一行中ALL=(ALL:ALL)显示调用命令的人的直接意图。sudo

相关内容