Sudoers CLI选项

我正在做一个sudoers文件。 什么是正确的方式来陈述以下?

零个或多个命令行选项,每个选项以单个或双个破折号开头,后跟一个或多个字符。 我想要有效地允许长和短的命令行选项,总数为零或更多,例如-v –variable -vb等。

我相信以下将是适当的perl正则expression式。

... <binary> (?:-{1,2}\w+)* <file> 

我不知道如何将其翻译成兼容bash / sudoers的东西。

sudoers文件允许使用shell风格的通配符,但不支持正则expression式。 有关您可以在本地执行的具体操作,请参阅Sudoers手册的“通配符”部分。

在这种情况下做的最好的事情就是编写一个脚本来validation使用正则expression式的input,然后终止一个错误(如果无效)或将input传递给指定的二进制(如果有效)。 你可以使用perl,Ruby,Python或者其他你最喜欢的方式轻松地编写这样的脚本。 让你的sudoers访问脚本而不是二进制文件。