php a scripting bash...

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

php a scripting bash...

Messaggio 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!

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: php a scripting bash...

Messaggio 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

Avatar utente
nuitari
Linux 3.x
Linux 3.x
Messaggi: 777
Iscritto il: dom 14 ott 2007, 12:51
Slackware: 12.0
Località: San Colombano al Lambro
Contatta:

Re: php a scripting bash...

Messaggio 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).

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: php a scripting bash...

Messaggio 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?

smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

Re: php a scripting bash...

Messaggio 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?

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: php a scripting bash...

Messaggio 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

smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

Re: php a scripting bash...

Messaggio da smtux »

ok... grazie!

faccio un po' di prove...
:p

smtux
Linux 3.x
Linux 3.x
Messaggi: 977
Iscritto il: gio 1 set 2005, 0:00
Slackware: 12.0
Località: somewhere in the time

Re: php a scripting bash...

Messaggio 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!

Rispondi