Pagina 1 di 1
php a scripting bash...
Inviato: dom 20 gen 2008, 11:48
da smtux
salve,
ho messo in piedi un server-ino con apache.
Volevo realizzare un'interfaccia web in modo che l'operatore da browser possa gestire il server.
Il linguaggio che avrei scelto è php ora la domanda è la seguente esistono delle funzioni di php con
cui posso lanciare script di bash già fatti per il mio server?
Immagino di si visto che in fondo webmin funziona allo stesso modo, oppure mi sbaglio?
qualcuno mi potrebbe indicare i riudimenti e la sintassi per fare queste cose?
grazie mille!
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 12:16
da conraid
smtux ha scritto:
Volevo realizzare un'interfaccia web in modo che l'operatore da browser possa gestire il server.
Il linguaggio che avrei scelto è php ora la domanda è la seguente esistono delle funzioni di php con
cui posso lanciare script di bash già fatti per il mio server?
Immagino di si visto che in fondo webmin funziona allo stesso modo, oppure mi sbaglio?
qualcuno mi potrebbe indicare i riudimenti e la sintassi per fare queste cose?
http://it2.php.net/manual/en/ref.exec.php
Attento alla sicurezza
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 12:23
da nuitari
E' un po' problematica la cosa che hai chiesto. Non tanto per le istruzioni in se, quelle sono banali (system, exec, passthru, pcntl_exec), quanto per il fatto che dovresti compilare apache/php con il supporto chroot abilitando forzatamente (cambiando il codice a mano prima di compilarlo) il supporto all'esecuzione come utente root, disabilitato di default, il che pone di fronte quantomeno a tutta una serie di problemi di sicurezza abbastanza ovvi.
Se ti senti comunque sicuro di te e decidi di provarci, compila php come cgi ed apache con il supporto chroot. Come ho detto, devi modificare il suexec prima della compilazione in modo che ti permetta di eseguire i cgi anche con privilegi di root (non ricordo il file specifico ma dovresti trovare info su google).
Poi ovviamente dovrai configurarti un path per il chroot che sia un minimo sicuro, sia a livello di filesystem che di conf di apache. Ricorda che gli script php eseguiti come CGI con il suexec richiedono la shebang all'inizio (es.: #!/var/www/cgi-bin/php).
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 12:34
da conraid
Aspetta. Ma lui vuole eseguire dei file bash che ha già, mi sembra di aver capito, non modificare chissà cosa tramite php. Quindi non ha di questi problemi, mette il suid a questi file al limite.
O ho capito male il tutto?
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 12:39
da smtux
conraid ha scritto:Aspetta. Ma lui vuole eseguire dei file bash che ha già, mi sembra di aver capito, non modificare chissà cosa tramite php. Quindi non ha di questi problemi, mette il suid a questi file al limite.
O ho capito male il tutto?
corretto... anche se (perdonami la domanda: cosa vuol dire mettere il suid?)
In pratica l'utente riempie dei form fatti in php che vengono salvati in file, poi tramite script bash li elaboro... il via all'elaborazione avviene da web-interface...
che ne dite?
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 12:47
da conraid
smtux ha scritto:
corretto... anche se (perdonami la domanda: cosa vuol dire mettere il suid?)
In pratica l'utente riempie dei form fatti in php che vengono salvati in file, poi tramite script bash li elaboro... il via all'elaborazione avviene da web-interface...
Il web server gira con permessi non sufficienti a modificare i file di sistema, riavviare apache, etc...
Non so tu cosa voglia fare, ma se vuoi modificare la configurazione, aggiungere un virtual host, un utente, un database, etc... hai bisogno di permessi giusti.
Cambiare i permessi di tutti questi file, o far girare apache come utente root non è sicuro.
Una via potrebbe essere quella di farsi uno script in bash e dargli i permessi per agire di conseguenza.
Il cosidetto SUID bit che fa si che il tuo script giri con permessi di root anche se lanciato da un utente diverso. Come ti ho detto occhio alla sicurezza.
Con il sistema proposto da nuitari tu potresti lanciare alcuni comandi direttamente da php, qui devi metterli in un tuo script prima, ma hai detto che li hai già, per questo ti ho dato quel link
Re: php a scripting bash...
Inviato: dom 20 gen 2008, 13:33
da smtux
ok... grazie!
faccio un po' di prove...

Re: php a scripting bash...
Inviato: dom 20 gen 2008, 13:41
da smtux
PS: dato che stamani dormo ancora ho pensato bene di postare qui invece che nel forum di Programmazione... se potete spostatelo e scusate per l'incremento di entropia non voluto!