PDA

Visualizza la versione completa : Comandi alla shell


stoppy
25-04-2005, 23:55
Ciao,
volevo passare dei comandi alla shell da php per creare a scopo di studio un'interfaccia web per la gestione del filesystem.

Con php posso eseguire comandi sulla shell tramite shell_exec() ma, una volta dato il comando non riesco a passare la parte successiva.

Per esempio, se mando "su" non riesco a dargli la password di root...

Pensavo quindi di creare degli script che facessero ciò una volta invocari con shell_exec().

Secondo voi è fattibile? Se si che tipo di script potrei creare?
:master:

GhePeU
25-04-2005, 23:58
Originariamente inviato da stoppy
Per esempio, se mando "su" non riesco a dargli la password di root...


in questo particolare caso, non ti conviene configurare sudo?

stoppy
26-04-2005, 08:19
???

gianiaz
26-04-2005, 08:30
devi fare in modo (tramite sudo appunto) che il tuo utente con cui fai partire lo script php abbia i diritti per utilizzare il comando senza dover usare "su" per diventare root.
Oppure aggiungi l'utente con cui fai girare lo script al gruppo di root (ci sono implicazioni sulla sicurezza da tenere in considerazione però).

Ciao

stoppy
28-04-2005, 13:37
Mettiamo il caso di aggiungee un utente.
Ripeto che devo eseguire il comando da php.



$pippo = "utentenuovo";
....
exec('sudo adduser $pippo');
....



Così potrebbe andare? Io lo eseguo ma non succede nulla.
Ho anche provato a fare un file .sh



$pippo = "utentenuovo";
....
exec('bash adduser.sh $pippo');
....


Ma nulla....

Come si fa?

Hyperjeeg
02-05-2005, 12:37
Edita il file /etc/sudoers.
Ora non l'ho sott'occhio, ma lì devi inserire l'utente che deve essere abilitato ad eseguire il comando come se fosse root.
Poi nello script che userai, scriverai:
sudo [nome programma].
Dovrebbe richiederti la pass dell'utente, ma sempre tramite il file sudoers dovrebbe essere possibile abilitare l'utente all'uso senza pwd, sempre ammesso che sia lo stesso utente che avvia la shell.

Alla prossima!!!:ciauz:
Jeeg

stoppy
02-05-2005, 13:34
Ci provo e ti faccio sapere.
Ciao e grazie tante

stoppy
23-05-2005, 20:47
Apache che utente usa?
O meglio, quando php gira su apache e manda comandi, quale utente realmente li esegue?

Grazie

Ikitt
23-05-2005, 20:54
Originariamente inviato da stoppy
O meglio, quando php gira su apache e manda comandi, quale utente realmente li esegue?

Dipende dalla distribuzione, comunque di solito e` un utente non privilegiato.

gianiaz
23-05-2005, 21:35
Originariamente inviato da stoppy
Apache che utente usa?
O meglio, quando php gira su apache e manda comandi, quale utente realmente li esegue?

Grazie



ps aux | grep apache
www-data 9888 0.0 1.0 10996 4608 ? S May22 0:00 /usr/sbin/apache


Ciao

Loading