Come concedere i diritti sudo solo a file di script specifici?


17

Vorrei che un utente avesse diritti sudo (senza controllo della password) per un paio di script di shell in una directory specifica (nel mio caso, /usr/local/tomcat7/bin) e in nessun altro posto. Qual è il modo più semplice per raggiungere questo obiettivo?

Qualcosa del genere /etc/sudoersnon sembra funzionare:

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin

Risposte:


22

Penso che tu ci sia quasi. mettere /a alla fine della specifica della directory

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/

Dalla pagina man sudoers

Una directory è un nome percorso completo che termina con un '/'. Quando si specifica una directory in Cmnd_List, l'utente sarà in grado di eseguire qualsiasi file all'interno di quella directory (ma non in alcuna sottodirectory in essa).


Grazie (ad entrambi i risponditori), hai funzionato! Nota per sé: necessità di richiamare gli script direttamente (ad esempio sudo catalina.sh stop) - questo non funziona: sudo sh catalina.sh stop.
Jonik,

7

Aggiungi una barra "/" alla fine del percorso.

jsmith ALL=(ALL) NOPASSWD: /usr/local/tomcat7/bin/
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.