Sudoers CLI options

2

Estou trabalhando em um arquivo sudoers. Qual é a maneira correta de afirmar o seguinte?

Zero ou mais opções de linha de comando, cada uma iniciando com um traço simples ou duplo, seguido por um ou mais caracteres. Quero permitir efetivamente opções de linha de comando longas e curtas, zero ou mais total, por exemplo, -v --variable -vb, etc.

Eu acredito que o seguinte seria o regex perl apropriado.

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

Não sei exatamente como traduzir isso em algo bash / sudoers compatível.

    
por Tim Brigham 31.10.2011 / 21:07

1 resposta

2

O arquivo sudoers permite curingas no estilo do shell, mas não suporta expressões regulares. Para as especificidades do que você pode fazer nativamente, veja a seção "Wildcards" dos Sudoers manual .

A melhor coisa a fazer nesta situação é simplesmente escrever um script que valide a entrada usando seu regex, então termine com um erro (se inválido) ou passe a entrada para o binário especificado (se válido). Você pode escrever tal script facilmente usando perl, Ruby, Python ou o que mais lhe agrada. Dê aos seus sudoers acesso ao script em vez do binário.

    
por 31.10.2011 / 22:24

Tags