Quiero permitir que un usuario ejecute grep (a través de sudo) y grep para una cadena específica en un archivo específico. No quiero permitir que este usuario pueda ejecutar grep en todos los archivos. El usuario no tiene acceso de lectura al archivo, de ahí el requisito de usar sudo. Estoy tratando de escribir un cheque nagios que agrupa el archivo de registro de otro servicio en la máquina.
Sin embargo, no funciona, sudo sigue pidiendo una contraseña.
Mi comando es: sudo grep "string I want (" /var/log/thefilename.log(sí, hay un (espacio en bruto y algunos espacios en la cadena que quiero grep)
/etc/sudoers.d/user-can-grep tiene este contenido:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
Este archivo sudoers es propiedad root:rooty tiene permisos-r--r-----
El servidor es Ubuntu confiable 14.04.3 LTS.
¿Cómo puedo hacer que esto funcione?
sudo.
grepy which grepme dice que está usando /bin/grep. AFAIK en el archivo sudo necesita especificar la ruta completa del binario, incluso si lo llama sin la ruta completa.