添加 cmnd 别名时,第 1 行附近 sudoers 语法错误

添加 cmnd 别名时,第 1 行附近 sudoers 语法错误

我正在尝试修改 sudoers.d 目录中的 sudoers 文件以允许名为“的组swts“作为自动化作业的一部分执行 cp 和 chown。为了实现此目的,我创建了一个 Cmnd_Alias,如下所示并保存在名为 的文件中/etc/sudoers.d/00-cmds-swts

Cmnd_Alias SWTS_COMMANDS = /usr/bin/cp -r * /home/bbc/leo/BQD*, /bin/chown -R bbc:bbc /home/bbc/leo/BQD*

但是,当使用 visudo 编辑文件并尝试保存时,我收到以下错误:

>>> 00-cmds-qa: syntax error near line 1 <<<

我不确定我错过了什么。与 cp 命令的源有关吗?

我最终在另一个文件中使用了命令别名,/etc/sudoers.conf/swts-users该文件下包含以下内容:

%swts ALL=(bbc:bbc) NOPASSWD: SWTS_COMMANDS

答案1

我发现如果在命令中使用文件:中的特殊字符,则必须对其进行转义。sudoers因此,在我的示例中,有问题的部分是命令:中的部分chown

/bin/chown -R bbc:bbc /home/bbc/leo/BQD*

我用下面的替换了它,并且成功了。

/bin/chown -R bbc\:bbc /home/bbc/leo/BQD*

相关内容