Quero permitir que um usuário execute grep (através do sudo) e grep para uma sequência específica em um arquivo específico. Não quero permitir que esse usuário possa executar o grep em todos os arquivos. O usuário não tem acesso de leitura ao arquivo, portanto, o requisito para usar o sudo. Estou tentando escrever uma verificação nagios que recebe o arquivo de log de outro serviço na máquina.
No entanto, não funciona, o sudo continua pedindo uma senha.
Meu comando é: sudo grep "string I want (" /var/log/thefilename.log(sim, há um espaço bruto (e alguns espaços na sequência que eu quero grep)
/etc/sudoers.d/user-can-grep tem este conteúdo:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
Este arquivo sudoers pertence root:roote tem permissões-r--r-----
O servidor possui o confiável Ubuntu 14.04.3 LTS.
Como posso fazer isso funcionar?
sudo.
grepe which grepme diz que está usando /bin/grep. AFAIK no arquivo sudo, é necessário especificar o caminho completo do binário, mesmo se você o chamar sem o caminho completo.