我正在尝试修改 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*