Sudo:使用 /etc/sudoers.d/ 文件中的参数,尤其是使用 mount 时(visudo 拒绝语法)

Sudo:使用 /etc/sudoers.d/ 文件中的参数,尤其是使用 mount 时(visudo 拒绝语法)

我遇到了一个语法争论问题sudo,可能无法解决。

我知道我知道,OpenBSD 的新版本doas比 更好sudo,但它在 CentOS 7 上不可用或者洛奇 8。所以,我们会在一起待sudo一段时间,女孩们,男孩们。

如果我添加以下行visudo -f /etc/sudoers.d/custom,它就会起作用,并且visudo不会抱怨它:

%[email protected] *=(root) NOPASSWD: /usr/bin/mount -a

但是,如果我添加以下内容:

%[email protected] *=(root) NOPASSWD: /usr/bin/mount -o remount,rw nfs-server.domain.com:/nfs3 /mnt/nfs3

然后visudo不断用以下代码拒绝它:( syntax error near line 41实际上是第 41 行)。我尝试了上述各种替代方法。

有什么想法为什么,或者什么会起作用?

谢谢

答案1

解决方案是阅读,man sudoers因为显然有些字符需要转义。奇怪的是,不起眼的逗号就是其中之一(通常不是敏感字符)。

提炼:

 Note that the following characters must be escaped with a ‘\’
 if they are used in command arguments: ‘,’, ‘:’, ‘=’, ‘\’. 

相关内容