Newsgroup: it.comp.www.php
Titolo: aiuto esecuzione

Salve a tutti!!
Avrei bisogno di un aiuto. Ho uno script bash, che avrei bisogno che
sia lanciato da php con privilegi di root.
Se lo eseguo da linea di comando loggato come root funziona alla
grande.
Come posso fare?

stespi1978 ha scritto:

http://it2.php.net/manual/it/ref.exec.php
per quel che riguarda l'esecuzione con privilegi di root non so
aiutarti,
qualcun altro spero potrà darti una dritta.
A me viene da chiederti se deve proprio essere eseguito come root,
cioè non hai proprio altre scappatoie?

Mi spiego meglio: sò come eseguire lo script da php, il prblema è che
all'interno ci sono dei comandi di chroot che richiedono i privilegi di
root per poter esser eseguiti correttamente.
raenkrus ha scritto:


root per poter esser eseguiti correttamente.
man 8 sudo
	system("/usr/bin/sudo /path/mioscript parametri...");
Leonardoo
-- 
Dawn is near, the time is short (Human aircraft! Hard to port!)
We eight reindeers of the night work as one in silent flight.
Let not one damn house pass by (Who taught that guy how to fly?)
Each year sees more girls and boys: how many of them can we bring toys?

stespi1978 ha scritto:
semplice, lo script funzionera' come se e' l'utente "apache" a fare i
comandi
se tu dai alla cartella che ti serve le permission tipo daemon....  o
www ce la fai tranquillo. Altrimenti ti dovresti loggare come root con
uno script php.

 >Mi spiego meglio: sò come eseguire lo script da php, il prblema è che


Ciao a tutti, con il comando system("/usr/bin/sudo /path/mioscript
parametri..."); lo script che vogliom lanciare nn parte
stespi1978 ha scritto:


Ho provato sia così:system("/usr/bin/sudo /var/www/./prova.sh");
che così system("/usr/bin/sudo /var/www/prova.sh");
stespi1978 ha scritto:


Volevo solo dire che se lancio  /usr/bin/sudo /var/www/prova.sh da riga
di comando funziona tutto bene
stespi1978 ha scritto:


 stespi1978 ha scritto:
Da command line, con che utente lo lanci?
Devi apportare le modifiche al file /etc/sudoers
sudo determines who is an authorized user by consulting the file 
/etc/sudoers. By giving sudo the -v flag a user can update the time 
stamp without running a command. The password prompt itself will also 
time out if the user's password is not entered within 5 minutes (unless 
overridden via sudoers).
	Francesco

> > man 8 sudo
dove ti fa capire che devi studiarti
	man sudoers
e li' ci trovi le istruzioni per usare "visudo" in modo tale da potere
lanciare lo script come root.
Se no c'e' un trucco, che e' questo: non sarai certo te il primo tizio
che ha questo problema, giusto? Giusto.
E allora vuol dire che *molto probabilmente* qualcun altro ha discusso
questo stesso problema, di cui hai gia' alcune parole chiave: sudo php
visudo sudoers shell_exec system e cosi' via. In italiano, il problema
si chiama "eseguire", sicche' se aggiungi "eseguire" di sicuro trovi i
post e le pagine Web in italiano; prova pure "lanciare" e, perche' no,
"runnare": ce n'e', di barbari che usano il PHP :-)
Sicche' provi a cercarle sul manuale del PHP :-) oppure su Google.
Un'ottima usanza degli hackers e' di aggiungere al post in cui compare
la soluzione la parola "SOLVED" o "RESOLVED".
Sicche' alla fine delle sudate ;-) carte io tenterei:
http://www.google.com/search?q=visudo+shell_exec+resolved
...e' una tecnica che puoi usare per quasi ogni problema 8-DDD
Leonardo


Salve a tutti, dopo aver configurato sudo sono riuscito a far eseguire
lo script. Il problema che mi rimane è che i comandi di chroot non
vengono eseguiti correttamente.
Questo è quello che mi dice:
The following packages will be REMOVED: openoffice-de-en* 0 upgraded, 0
newly installed, 1 to remove and 1 not upgraded. Need to get 0B of
archives. After unpacking 362MB disk space will be freed. Do you want
to continue [Y/n]? Abort.
Al posto di abort in automatico dovrebbe esserci yes.
Di seguito vi fornisco anche il comando di chroot:
chroot /var/www/uploads/DISTRO_UTENTI/$indirizzo_email/source/KNOPPIX
apt-get --purge remove openoffice-de-en
Grazie a tutti x l'aiuto!

Al posto di abort in automatico dovrebbe esserci yes.
Eh. Se apt-get prende lo "yes" in automatico (e il funzionamento non da
terminale) basta che tu gli dia l'opzione.
Se no sei del gatto.
Chiedi sul gruppo it.comp.os.linux.iniziare, visto che apt-get e' pappa
per debianisti.


 Al posto di abort in automatico dovrebbe esserci yes.
da man apt-get:
        -y, --yes, --assume-yes
               Automatic  yes to prompts; assume "yes" as answer to all prompts
               and run non-interactively. If an undesirable situation, such  as
               changing  a  held  package,  trying to install a unauthenticated
               package or removing an essential  package  occurs  then  apt-get
               will abort. Configuration Item: APT::Get::Assume-Yes.

L'avevo trovato anche io e lo sto provando ora...vi faccio sapere come
và!!!
Di nuovo grazie, in particolar modo a Leonardo
hk3project ha scritto:


 và!!!
ehm ... facci sapere quotando correttamente ;)
http://wiki.news.nic.it/QuotarBene

hk3project ha scritto:

Funziona tutto alla grande!!!!
Un grosso grazie a tutti!