/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)
- 什么时候前者对后者是强制性的,反之亦然?
- 前者和后者应分别使用什么类型的命令
因此,我不清楚(即使每个组都有可用的注释),因此,如果我想创建一个新组(即:)developers
,我不知道是否应该声明(ALL)
或(ALL:ALL)
。
答案1
“按照规范运行”与的-u
和选项结合在一起。-g
sudo
- 使用
(ALL)
,您可以以任何用户身份运行后续命令。其语法为sudo -u <user> command
. - 您
(:ALL)
可以作为任何组运行后续命令。其语法为sudo -g <group> command
. - 使用
(ALL:ALL)
,您可以以任何用户和/或任何组的身份运行后续命令。请注意,此配置不会强制使用用户和组,因此您可以执行以下操作:
sudo -u <user> command
sudo -g <group> command
sudo -u <user> -g <group> command
请参阅'Runas_Spec'sudoers 手册的部分了解更多详细信息和一些示例。