/etc/sudoers - 关于组的“all”与“all:all”的澄清

/etc/sudoers - 关于组的“all”与“all:all”的澄清

/etc/sudoers关于文件的配置visudo我已阅读以下教程(除其他外):

一个非常重要的部分是以下结构:

  • user hostname=(runas-user:runas-group) command

我了解以下有关用户:

root ALL=(ALL:ALL) ALL
hope ALL=(ALL:ALL) ALL

我不清楚的是关于%groups.文件中/etc/sudoers显示的%admin%sudo组如下:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

关于(ALL)vs(ALL:ALL)

  1. 什么时候前者对后者是强制性的,反之亦然?
  2. 前者和后者应分别使用什么类型的命令

因此,我不清楚(即使每个组都有可用的注释),因此,如果我想创建一个新组(即:)developers,我不知道是否应该声明(ALL)(ALL:ALL)

答案1

“按照规范运行”与的-u和选项结合在一起。-gsudo

  1. 使用(ALL),您可以以任何用户身份运行后续命令。其语法为sudo -u <user> command.
  2. (:ALL)可以作为任何组运行后续命令。其语法为sudo -g <group> command.
  3. 使用(ALL:ALL),您可以以任何用户和/或任何组的身份运行后续命令。请注意,此配置不会强制使用用户和组,因此您可以执行以下操作:
  • sudo -u <user> command
  • sudo -g <group> command
  • sudo -u <user> -g <group> command

请参阅'Runas_Spec'sudoers 手册的部分了解更多详细信息和一些示例。

相关内容