Allora, arrivo un pochino in ritardo, avevo un bel po' di cose da fare ultimamente :winkOLD:
Vediamo un po' se posso aiutarti a risolvere il tuo problema.
Come ha già detto Rommel puoi utilizzare il comando "sudo".
Questo comando ti permette di eseguire altri comandi (scusa il gioco di parole) con i permessi di utente root.
Per poter utilizzare sudo devi prima configurarlo.
Il file di configurazione si chiama sudoers e si trova nella cartella /etc.
Come al solito consiglio di leggere un po' il man prima di effettuare modifiche.
Intanto però ti scrivo una base che può tornarti utile per il tuo script.
Composizione del file sudoers
Codice:
# User alias specification
# Qui va specificato un alias per i vari utenti in modo
User_Alias TEST = utente1,utente2,utenteX
# Cmnd alias specification
# In questa sezione puoi specificare i comandi che posso essere eseguiti
# un esempio è la riga sottostante
Cmnd_Alias WEB_START=/etc/rc.d/rc.httpd start
# User privilege specification
# In questa sezioe sono elencati i privilegi dei vari utenti
# root esegue tutto!
root ALL=(ALL) ALL
#Il gruppo di utenti TEST può soltanto far partire il demone httpd
TEST ALL=WEB_START
a questo punto salvi tutto e dai i permessi 0440 al file sudoers
Il tuo file di configurazione per sudo è ora pronto, non ti resta che inserire all'interno del tuo script, quando vuoi eseguire il comando come root la seguente stringa :
Codice:
sudo -u root [comando da eseguire]
terminati i tuoi comandi vari inserisci sempre all'interno del tuo script questa riga:
serve per "svuotare la cache prima del tempo", in modo tale che al prossimo utilizzo ti richieda nuovamente la password.
ATTENZIONE
1 - Studiati bene i comandi da far eseguire, le rogne sono ovunque e rischi di compromettere la sicurezza.
2 - La password da presentare alla richiesta, NON E' QUELLA DI ROOT, ma quella dell'utente che ha lanciato lo script.
Spero di essere stato d'aiuto.
Ciao
Leandro
Happy Slack!