Voglio consentire a un utente di eseguire grep (tramite sudo) e grep per una stringa specifica in un file specifico. Non voglio consentire a questo utente di eseguire grep su tutti i file. L'utente non ha accesso in lettura al file, quindi l'obbligo di usare sudo. Sto cercando di scrivere un controllo nagios che esegue il greps sul file di registro di un altro servizio sulla macchina.
Comunque non funziona, sudo continua a chiedere una password.
Il mio comando è: sudo grep "string I want (" /var/log/thefilename.log
(sì, c'è un raw (
e alcuni spazi nella stringa che voglio grep)
/etc/sudoers.d/user-can-grep
ha questo contenuto:
user ALL=(root) NOPASSWD: /bin/grep "string I want (" /var/log/thefilename.log
Questo file sudoers è di proprietà root:root
e dispone di autorizzazioni-r--r-----
Il server è Ubuntu fidato 14.04.3 LTS.
Come posso farlo funzionare?
sudo
.
grep
e which grep
mi dice che sta usando /bin/grep
. AFAIK nel file sudo è necessario specificare il percorso completo del file binario, anche se lo si chiama senza il percorso completo.