在 sudoers 中设置默认值

在 sudoers 中设置默认值

Defaults我正在尝试以适当的方式设置以供pdebuild使用。我已经定义了命令别名:

Cmnd_Alias  PBUILDER = /usr/sbin/pbuilder, /usr/bin/pdebuild, /usr/bin/debuild-pbuilder

我正在尝试仅为该项设置默认值:

Defaults        env_reset
Defaults!PBUILDER       env_keep="DIST ARCH"

失败,因为 行出现语法错误env_reset。当我注释掉该Defaults!PBUILDER行时,它工作正常。我应该在这里更新什么才能使其正常工作?


附加信息:

$ sudo -V
Sudo version 1.6.9p17

手册页包含有关“默认值!...”选项的信息,因此理论上这应该没问题。

整个文件是:

Cmnd_Alias  PBUILDER = /usr/sbin/pbuilder, /usr/bin/pdebuild, /usr/bin/debuild-pbuilder

Defaults    env_reset
Defaults!PBUILDER   env_keep="DIST ARCH"

root    ALL=(ALL) ALL
stan ALL=(ALL) PBUILDER

%engineering    ALL=(ALL) ALL

答案1

我认为您的手册页与您使用的 sudo 版本不同步。我刚刚5429:f7398cfbac71sudo 存储库sudoers手册页显示以下语法:

    Default_Type ::= 'Defaults' |
                     'Defaults' '@' Host_List |
                     'Defaults' ':' User_List |
                     'Defaults' '>' Runas_List

没有提及'Defaults' '!' Cmnd_List较新版本中可用的语法。 似乎是 1.6.9 手册页的在线版本,它显示了相同的内容。

答案2

补充一下 larsks 所说的内容,我在我的 sudo (1.7.4p5) 中尝试了您的 sudoers 文件,解析正常,没有错误。您使用的版本可能没有像 1.7 那样对默认值提供完善的支持,或者可能只是一个错误。升级 sudo 是不可能的吗?

相关内容