PDA

Visualizza la versione completa : Comando per eseguire un programma


triple h
10-05-2004, 16:44
Ho il seguente problema :

devo eseguire un comando ( di refresh dal server ) mandando in esecuzione un file php ( descritto in seguito ). Il messaggio di errore il seguente :

ERROR: You must be logged in as the root to use this command. If you really need to start the server as non-root please modify this script.

Domanda : Ho modificato il permesso ( adesso 777 ) del file da eseguire e non cambiato niente. Come faccio ad eseguirlo ?
Posso ( ricordando che le istruzioni li devo mettere dentro un file php ) loggarmi come utente root e poi eseguire il comando di esecuzione del file ?

URGENTISSIMO !!

FILE PHP :

<?php
chdir('/opt/macromedia/fcs/');
echo passthru('./server stop');
?>

GhePeU
10-05-2004, 17:07
l'hai letto il messaggio d'errore?

ERROR: You must be logged in as the root to use this command. If you really need to start the server as non-root please modify this script.


non questione di permessi, lo script che controlla che ad eseguirlo sia root

triple h
10-05-2004, 17:11
e come faccio a risolvere il problema ? Come doico allo script di eseguirlo anche senza root ?

Laurentius
10-05-2004, 20:13
Apri lo script, da qualche parte ci sar un controllo, commentalo.

triple h
11-05-2004, 13:56
Che vuoi dire ?

Il codice php da eseguire quello che ho postato prima.
Come faccio ?

gianiaz
11-05-2004, 14:02
che il problema sia quel passthru non ti venuto in mente?

triple h
11-05-2004, 14:05
Anche se uso un altro comando ( ad esempio exec ) la situazione non cambia !!

gianiaz
11-05-2004, 20:17
fanno la stessa cosa!

devi pensare che quando fai eseguire un comando (in questo caso server stop) lo esegui con l'utente che sta usando apache.Quindi sar l'utente www-data nobody o chi per esso (dipende da che utente usa il webserver nella tua distro.)
Evidentemente quell'utente non ha i permessi per eseguire il comando 'server stop'. Quindi i permessi li devi cambiare a quello script e non allo script php.
Naturalmente con tutti i rischi del caso... un server che possa essere stoppato da un utente internet non molto sicuro.
Poi fai tu.

ciao

triple h
12-05-2004, 13:44
Non voglio che un utente qualunque possa stoppare il server !!

Quello che voglio che venga eseguito un trigger in automatico ogni tot tempo che esegua lo script descritto prima !!

Come faccio ?
Suggerimenti ?

gianiaz
12-05-2004, 15:53
sono molto paziente di solito...
ma cavolo te l'ho detto sopra, cambia quel cavolo di permessi allo script server

Loading