Ho uno script bash che deve girare coi permessi dell'utente "news".
Tuttavia voglio lanciarlo da utente semplice.
Non vi tedio con altri dettagli sulla faccenda, se servirà aggiugerò informazioni in seguito.
sudo -u news /usr/bin/newsync.sh
Lo script newsync.sh lanciato come utente "news" realmente loggati come tale non restituisce errori.
Invece lanciandolo come "user", col comando sudo riportato sopra ritorna:
Codice: Seleziona tutto
find: .: Permesso negato
Codice: Seleziona tutto
drwxr-xr-x 2 news news 4096 gen 4 17:00 /usr/lib/news/
La domanda è quindi:
se è vero che attraverso sudo, quel comando "find" è come se fosse eseguito dall'utente "news", che ha tutti i permessi necessari allo scopo... Perché mai restituisce Permesso negato, quando invece lanciandolo direttamente come utente "news" funziona?
Il paradosso è che siccome la directory su cui deve lavorare "find" ha permessi di lettura e attraversamento anche per gli utenti semplici, lanciando da utente semplice:
Codice: Seleziona tutto
find /usr/lib/news/ -name "*conf"
Solo quando si usa sudo con lo script...
Aggiungo che, errore a parte, il comando find viene comunque eseguito anche quando lanciato attraverso sudo e lo script sopra...
Avreste qualche idea di cosa possa non funzionare come mi aspetterei?