Discussione:
Diventare root da script bash
(troppo vecchio per rispondere)
Helix
2006-01-29 00:16:08 UTC
Permalink
Ho bisogno si fare alcuni comandi come root in uno script per la shell bash,
ho provato a inserire la riga con
su
Mi chiede la password ma poi esce invece di continuare ad eseguire come
root.
C'è un modo per farlo ?

E poi dopo aver fatto eseguire i comandi come root, vorrei poter
ritornare l'utente che ero prima, e continuare l'esecuzione dello script
fino alla fine.

TIA
Davide Bianchi
2006-01-29 08:34:12 UTC
Permalink
Post by Helix
Ho bisogno si fare alcuni comandi come root in uno script per la shell bash,
usa sudo
man sudo per maggiori info.

Davide
--
If God is perfect, why did He create discontinuous functions?
Helix
2006-01-29 13:58:12 UTC
Permalink
Post by Davide Bianchi
Post by Helix
Ho bisogno si fare alcuni comandi come root in uno script per la shell bash,
usa sudo
man sudo per maggiori info.
Davide
Non è la prima volta che cerco di usare sudo, ma non ho mai capito come
funziona.
Tanto per cominciare ho provato un esempio contenuto nel man sudo

$ sudo ls /usr/local/protected
helix is not in the sudoers file. This incident will be reported.

Ammesso che io capisca ome gestire il sudoers,
ma se dovessi lanciare lo script che dicevo su una macchina nuova, senza
impostazioni preventive di sudo, credo che non adrebbe nulla.
Giusto ?
Baron d'Holbach ~1723-1789~
2006-01-29 09:39:20 UTC
Permalink
Post by Helix
Ho bisogno si fare alcuni comandi come root in uno script per la shell bash,
ho provato a inserire la riga con
su
Mi chiede la password ma poi esce invece di continuare ad eseguire come
root.
C'è un modo per farlo ?
usa sudo, oppure in alternativa esegui il comando con

su -c "comando"
--
"C'e' gente che eredita la fede, come eredita i terreni, il casato,
i titoli nobiliari, il denaro, una biblioteca e il castello. Fede per
censo, ereditaria." (Ennio Flaiano)
Helix
2006-01-29 14:07:22 UTC
Permalink
Post by Baron d'Holbach ~1723-1789~
usa sudo, oppure in alternativa esegui il comando con
su -c "comando"
Perfetto, grazie.
Però rimane ancora un problemino.
Se devo lanciare N comandi come root devo mettere la password N volte
p.e.
su -c whoami
su -c whoami

Esiste qualche altro trucchetto ?
TIA
Baron d'Holbach ~1723-1789~
2006-01-29 14:39:48 UTC
Permalink
Post by Helix
Però rimane ancora un problemino.
Se devo lanciare N comandi come root devo mettere la password N volte
p.e.
su -c whoami
su -c whoami
Esiste qualche altro trucchetto ?
sudo mi pare che non ti chieda la password per 15 minuti.

Edita il file di configurazione con:

visudo (da root)
--
"Il nostro mondo diverra' un giorno tanto raffinato che sara' ridicolo
credere in Dio come oggi e' ridicolo credere agli spettri." (Georg
Cristoph Lichtenberg)
ZeD
2006-01-29 16:29:20 UTC
Permalink
Ciao, Helix! Che stavi dicendo?
Post by Helix
Se devo lanciare N comandi come root devo mettere la password N volte
su -c whoami
su -c whoami
Esiste qualche altro trucchetto ?
...trucchetto...

$ echo "whoami" > file
$ echo "whoami" >> file
[***@SwordFishII ~]$ su -c 'bash file'
Password:
root
root
$

oppure ti vedi come funziona expect
--
Quante sono le persone
che sanno leggere il codice esadecimale,
se ci sono de11e persone
che sanno leggere il codice esadecimale?
Helix
2006-01-29 17:23:14 UTC
Permalink
Post by ZeD
...trucchetto...
$ echo "whoami" > file
$ echo "whoami" >> file
root
root
$
Perfetto.
E' quello che volevo
grazie
Helix
2006-01-30 11:36:26 UTC
Permalink
Continuando il discorso...
se lancio un comando tar all'interno di uno script chiamato con su -c

tar -xzf pipposource.tgz -C"/usr/helix"

ho l'errore seguente

#tar: helix: Impossibile utime: Operation not permitted
#tar: helix: Impossibile a cambiare il modo a rwxr-xrwx: Operation not
permitted
#helix: Uscita per errore ritardata dall'errore precedente

nella directory destinazione /usr/helix c'è quaello che volevo
ma vorrei evitare i messaggi di warning, cosa sto sbagliando ?
TIA

Loading...