Re: php e default shell
Dario scrisse in data 15/04/2013 19:38: Sottoscrivo l'ultima frase. Fosse per me shell_exec lo eliminerei del tutto (imho) io no :) Domanda, Piviul: Cosa devi fare in shell che non riesci a fare in PHP, o non puoi fare in PHP ? Ho fatto un'applicazione che va a prendere sui vari client della lan alcuni file (testo, xls, pdf...), legge tali files (sono principalmente files che provengono da strumenti di laboratorio) e in base alle informazioni contenute vengono eseguite delle archiviazioni classificate su un db. Poi esiste ovviamente la versione web che può andare a cercare nel db degli archivi per andare a riprendersi gli archivi stessi. Sia la parte web che quella cli l'ho fatta in php. Per andare a leggere però i files uso molto la shell traducendo tutto in testo (pdttotext, xlhtml...) poi uso grep, sed e compagnia bella per andare a cercare all'interno del file. Spesso le mie espressioni sono in bash non in dash per via di alcuni operatori ([[ ]] che ad esempio supporta anche le espressioni regolari) che dash non supporta. Ciao Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516d4a38.2040...@riminilug.it
Re: php e default shell
Alessandro Pellizzari scrisse in data 15/04/2013 14:59: Se intendi c'è un parametro in php.ini che imposti la shell di default? allora no, non c'è. argh... non capisco perché non si possa configurare quale shell usare in shell_exec e perché shell_exec debba usare quella default di sistema... comunque mi adeguo. Grazie mille a tutti quanti Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516d59df.6010...@riminilug.it
php e default shell
Ciao a tutti, ho un piccolo problema con php: vorrei che quando chiamo la funzione shell_exec venga usata di default bash invece di dash. I workaround che ho trovato sono quelli di cambiare la shell predefinita con update-alternatives (ma non mi sembra accettabile) oppure quello di esplicitare in ogni chiamata di shell_exec di usare bash come interprete, qualcosa tipo shell_exec('/bin/bash -c [ == ] echo ok); Ma prima mi piacerebbe impostare bash in default... Qualcuno sa come fare? Sono andato OT? Ciao e grazie Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bc57c.3070...@riminilug.it
Re: php e default shell
Mario Vittorio Guenzi scrisse in data 15/04/2013 12:46: Il 15/04/2013 11:16, Piviul ha scritto: Ma prima mi piacerebbe impostare bash in default... Non sono sicuro di aver capito, vuoi impostare bash come shell di default per la macchina o solo per PHP? Nel primo caso basta fare dpkg-reconfigure dash e seguire le istruzioni, nel secondo non ho onestamente idea. non vorrei avere bash di default per tutto il sistema... vorrei invece che o php prenda la shell di default dell'utente che sta eseguendo lo script oppure impostare in php quale debba essere la shell da usare per le chiamate di shell_exec: chiedo troppo a php? Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bdd37.7000...@riminilug.it
Re: php e default shell
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 15/04/2013 12:57, Piviul ha scritto: Mario Vittorio Guenzi scrisse in data 15/04/2013 12:46: Il 15/04/2013 11:16, Piviul ha scritto: Ma prima mi piacerebbe impostare bash in default... Non sono sicuro di aver capito, vuoi impostare bash come shell di default per la macchina o solo per PHP? Nel primo caso basta fare dpkg-reconfigure dash e seguire le istruzioni, nel secondo non ho onestamente idea. non vorrei avere bash di default per tutto il sistema... vorrei invece che o php prenda la shell di default dell'utente che sta eseguendo lo script oppure impostare in php quale debba essere la shell da usare per le chiamate di shell_exec: chiedo troppo a php? Piviul premesso che in materia sono una capra la butto li... PHP presumo che venga eseguito da www-data, se cambi la shell in passwd a www-data? Cioe' di default e' /bin/sh che pero' e' un simlink a dash dandogli invece come shell /bin/bash dovrebbe essere quello che ti risolve la questione. - -- Mario Vittorio Guenzi E-mail jcl...@tiscali.it Si vis pacem, para bellum -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlFr6I4ACgkQm6qs1ZkNrIpuhQCfdbuVTkvwDhh/2FlRm3XA77hN 8bUAniALyFmSCm/R5eP8P5iLEQC52wsO =L/ak -END PGP SIGNATURE- -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516be88e.6010...@tiscali.it
Re: php e default shell
Mario Vittorio Guenzi scrisse in data 15/04/2013 13:46: premesso che in materia sono una capra la butto li... PHP presumo che venga eseguito da www-data, se cambi la shell in passwd a www-data? Cioe' di default e' /bin/sh che pero' e' un simlink a dash dandogli invece come shell /bin/bash dovrebbe essere quello che ti risolve la questione. php oltre che essere un programma utilizzato in server web è utilizzato anche da riga di comando. Come già dicevo, ma a quanto pare in maniera non chiara, ogni chiamata alla funzione shell_exec ignora la shell predefinita dell'utente e utilizza quella predefinita nel sistema a meno che non si esegua direttamente l'interprete con una chiamata tipo shell_exec(/bin/bash -c your commands here;\n); Avrei voluto però e questo è il senso del thread, domare php in modo che di default scelga la shell che decido io. Ora sono stato più chiaro? Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bf75a.4030...@riminilug.it
Re: php e default shell
- Messaggio originale - Da: Piviul piv...@riminilug.it A: debian-italian@lists.debian.org Cc: Inviato: Lunedì 15 Aprile 2013 14:49 Oggetto: Re: php e default shell Mario Vittorio Guenzi scrisse in data 15/04/2013 13:46: premesso che in materia sono una capra la butto li... PHP presumo che venga eseguito da www-data, se cambi la shell in passwd a www-data? Cioe' di default e' /bin/sh che pero' e' un simlink a dash dandogli invece come shell /bin/bash dovrebbe essere quello che ti risolve la questione. php oltre che essere un programma utilizzato in server web è utilizzato anche da riga di comando. Come già dicevo, ma a quanto pare in maniera non chiara, ogni chiamata alla funzione shell_exec ignora la shell predefinita dell'utente e utilizza quella predefinita nel sistema a meno che non si esegua direttamente l'interprete con una chiamata tipo shell_exec(/bin/bash -c your commands here;\n); Avrei voluto però e questo è il senso del thread, domare php in modo che di default scelga la shell che decido io. Ora sono stato più chiaro? Piviul Secondo me non hai capito la sua risposta... :) Ora provo a rispiegare quello che secondo me intendeva dire lui: 1) PREMESSO che molto probabilmente php lato server gira sotto l'utente www-data 2) dato che quello è un utente diverso da quello con cui di solito usi il pc Allora conviene editare la bash di default di quell'utente, agendo propriamente in /etc/passwd www-data:x:33:33:www-data:/var/www:/bin/sh Ora rimane da controllare se php gira in www-data (sono abbastanza sicuro che sia così), e ricordarsi che questo funziona solo per gli script lanciati in automatico dal webserver, non per quelli che magari fai girare tu a mano. Spero di non aver confuso ulteriormente le cose Gianfranco -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bf75a.4030...@riminilug.it -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1366030683.4145.yahoomail...@web172706.mail.ir2.yahoo.com
Re: php e default shell
Il Mon, 15 Apr 2013 14:49:30 +0200, Piviul ha scritto: non chiara, ogni chiamata alla funzione shell_exec ignora la shell predefinita dell'utente e utilizza quella predefinita nel sistema a meno che non si esegua direttamente l'interprete con una chiamata tipo shell_exec(/bin/bash -c your commands here;\n); Avrei voluto però e questo è il senso del thread, domare php in modo che di default scelga la shell che decido io. Se intendi c'è un parametro in php.ini che imposti la shell di default? allora no, non c'è. L'unico modo è quello di richiamare la shell come indichi. Oppure di fare uno script e usare lo shebang (#!) all'inizio per specificare la shell. Ma l'unica differenza tra dash e bash sono i comandi interni disponibili. Posso chiederti perché vuoi usare bash? Se devi richiamare più di un comando non ha molto senso usare shell_exec. Conviene fare uno script .sh o riscrivere quello che devi fare direttamente in PHP. Bye. -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/kkgtis$8r7$1...@ger.gmane.org
Re: php e default shell
Il 15/04/2013 14:59, Alessandro Pellizzari ha scritto: Se intendi c'è un parametro in php.ini che imposti la shell di default? allora no, non c'è. L'unico modo è quello di richiamare la shell come indichi. Oppure di fare uno script e usare lo shebang (#!) all'inizio per specificare la shell. Ma l'unica differenza tra dash e bash sono i comandi interni disponibili. Posso chiederti perché vuoi usare bash? Se devi richiamare più di un comando non ha molto senso usare shell_exec. Conviene fare uno script .sh o riscrivere quello che devi fare direttamente in PHP. Bye. Sottoscrivo l'ultima frase. Fosse per me shell_exec lo eliminerei del tutto (imho) Domanda, Piviul: Cosa devi fare in shell che non riesci a fare in PHP, o non puoi fare in PHP ? Qualche script esistente che sei obbligato a richiamare? Dario -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto unsubscribe. Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516c3aff.7010...@gmail.com
Re: default shell
Alle 08:58, mercoledì 9 febbraio 2005, Raistlin ha scritto: Questa non l'ho capita... $ls -la /bin/sh 0 lrwxrwxrwx 1 root root 4 2005-01-24 09:33 /bin/sh - bash Se anche per lui e` cosi` sta usano la bash anche se indica sh E` cosi` anche per te vero Andrea? E' vero anche per me! Tantoché man bash = man sh. Sorry! A.
Re: default shell
alexxmed ha scritto: E' vero anche per me! Tantoché man bash = man sh. Attenzione pero' a non pensare che bash = sh, anche se l'eseguibile e' lo stesso. Andando a spulciare il codice (ma e' scritto anche nel man da qualche parte) si vede che bash si comporta diversamente a seconda del nome con cui viene chiamata: se esso e' sh, cerca di avere un comportamento piu' posix possibile, quindi sicuramente cambiano anche i file di configurazione che consulta quando viene lanciata. Meglio controllare con uno strace. Saluti Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Attenzione pero' a non pensare che bash = sh, anche se l'eseguibile e' lo stesso. Andando a spulciare il codice (ma e' scritto anche nel man da qualche parte) si vede che bash si comporta diversamente a seconda del nome con cui viene chiamata: Cavolo... questa non la sapevo io... se esso e' sh, cerca di avere un comportamento piu' posix possibile, quindi sicuramente cambiano anche i file di configurazione che consulta quando viene lanciata. Addirittura i file diversi... Bho, comunque io non ho mai riscontrato differenze di sorta nell'utilizzo. Meglio controllare con uno strace. Senza voler fare di tutta l'erba un fascio non e` una bella cosa quando i programmi fanno cose diverse a seconda di come vengono invocati... Saluti Grazie della interessante precisazione... Ciao, Dario signature.asc Description: This is a digitally signed message part
Re: default shell
Riccardo Fabris ha scritto: e` vero, ma posix coi path non dovrebbe c'entrare nulla (a parte richiedere che una sh posix compliant sia la prima a essere trovata chiamando sh afair) Ok, ok, la mia parola nulla vale... mi vedo costretto a questo: - Shell di login: Alla login (dipendentemente dalla opzione -noprofile): se /etc/profile esiste, lo legge. se ~/.bash_profile esiste, lo legge, altrimenti se ~/.bash_login esiste, lo legge, altrimenti se ~/.profile esiste, lo legge. All'uscita: se ~/.bash_logout esiste, lo legge. Shell interattiva non di login: Alla partenza (dipendentemente dalle opzioni -norc e -rcfile): se ~/.bashrc esiste, lo legge. Shell non interattiva: Alla partenza: se la variabile di ambiente ENV non è nulla, la espande e legge il file che indica, come se fosse stato eseguito, il comando if [ $ENV ]; then . $ENV; fi ma non usa PATH per cercare il percorso del nome. Quando non è avviata in modo Posix, bash guarda BASH_ENV prima di ENV. Se Bash è chiamata come sh, prova a imitare il comportamento di sh nel modo più vicino possibile. Per una shell di login, essa tenta di leggere solo /etc/profile e ~/.profile, in questo ordine. L'opzione noprofile può anche essere usata per disabilitare questo comportamento. Una shell invocata come sh non tenta di leggere nessun altro file di inizializzazione. Quando bash è avviata in modo posix, come con l'opzione -posix sulla linea di comando, essa segue lo standard Posix per i file di inizializzazione. In questo modo, la variabile ENV è espansa e quel file letto; nessun altro file di inizializzazione viene letto. - Chiedo scusa per il lenzuolo copia-incollato dal man bash. Quindi a seconda di chi e come la lancia, del valore delle variabili di ambiente e delle impostazioni nei profile e bashrc il comportamento della shell (anche riguardo al path) puo' effettivamente cambiare. Se poi invece che un problema di bash ha un problema di rootkit o di malocchio, a me non e' dato sapere. io controllerei che sia tutto a posto, e che non sia stata messa li` da qualcuno ;) Da mamma hacker? ;) Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Cristian Versari ha scritto: Riccardo Fabris ha scritto: e` vero, ma posix coi path non dovrebbe c'entrare nulla (a parte richiedere che una sh posix compliant sia la prima a essere trovata chiamando sh afair) Ok, ok, la mia parola nulla vale... tutt'altro, il non dovrebbe non era x nulla inteso cosi` :) Se Bash è chiamata come sh, prova a imitare il comportamento di sh nel modo più vicino possibile. detto in parole povere bash invocata come /bin/sh non legge ~/.bashrc, come fosse lanciata con --norc, e` nel reference manual di sicuro (una diagnosi potrebbe essere che manca il :$PATH in fondo a un PATH=blabla messo da qualcosa o a mano in .bashrc) Quindi a seconda di chi e come la lancia, del valore delle variabili di ambiente e delle impostazioni nei profile e bashrc il comportamento della shell (anche riguardo al path) puo' effettivamente cambiare. Se poi invece che un problema di bash ha un problema di rootkit o di malocchio, a me non e' dato sapere. io controllerei che sia tutto a posto, e che non sia stata messa li` da qualcuno ;) Da mamma hacker? ;) forse da quelle famose (famigerate?) sorelle il cui accesso alla distribuzione appena installata e` la causa di tutti i mali per gli arridateme un lilo.conf ke funzi peppiacere, ne vorrei tanto conoscere qualcuna, ma temo sia piu` facile incontrare peter pan ;) -- saluti Riccardo Fabris In God we trust, all others we monitor. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Cristian Versari ha scritto: Attenzione pero' a non pensare che bash = sh, anche --- cut --- possibile, quindi sicuramente cambiano anche i file di configurazione che consulta quando viene lanciata. Meglio controllare con uno strace. Addirittura strace! basta scrivere man bash e leggere il paragrafo Invocation, vicino all'inizio della pagina di manuale. Se viene invocata come /bin/sh ovviamente (per compatibilità posix) ignora tutti i files tipo bashrc, bash_profile ecc... -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Riccardo Fabris ha scritto: Ok, ok, la mia parola nulla vale... tutt'altro, il non dovrebbe non era x nulla inteso cosi` :) Pardon :) (una diagnosi potrebbe essere che manca il :$PATH in fondo a un PATH=blabla messo da qualcosa o a mano in .bashrc) Mi associo alla diagnosi. forse da quelle famose (famigerate?) sorelle il cui accesso alla distribuzione appena installata e` la causa di tutti i mali per gli arridateme un lilo.conf ke funzi peppiacere, ne vorrei tanto conoscere qualcuna, ma temo sia piu` facile incontrare peter pan ;) Se le e' portate tutte nell'isola che non c'e' :( O ne svolazza ancora qualcuna in giro? ;) Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
default shell
Ciao, su una installazione di base di Debian Sarge ho notato che se indico #!/bin/bash gli script non vanno, o meglio mi tocca indicare il percorso completo dei bianri /bin/cat etc. invece se indico #!/bin/sh va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che anche fuori da cron la cosa accade. Gli script hanno i permessi giusti e sono in /opt mi sono perso in un bicchiere d'acqua -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Alle 22:31, martedì 8 febbraio 2005, Andrea Ganduglia ha scritto: Ciao, su una installazione di base di Debian Sarge ho notato che se indico #!/bin/bash gli script non vanno, o meglio mi tocca indicare il percorso completo dei bianri /bin/cat etc. invece se indico #!/bin/sh va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che anche fuori da cron la cosa accade. Gli script hanno i permessi giusti e sono in /opt mi sono perso in un bicchiere d'acqua più o meno, sono due shell diverse! bash = (GNU) - Bourne Again SHell A.
Re: default shell
Ciao, su una installazione di base di Debian Sarge ho notato che se indico Ciao, #!/bin/bash gli script non vanno, o meglio mi tocca indicare il percorso completo dei bianri /bin/cat etc. invece se indico #!/bin/sh va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che anche fuori da cron la cosa accade. Gli script hanno i permessi giusti e sono in /opt mi sono perso in un bicchiere d'acqua Non so che dirti, io ho appena provato e mi funziona in entrambe i casi... :O Sembra un problema di path ma da quello che dici, non so perche` si verifichi!?! più o meno, sono due shell diverse! bash = (GNU) - Bourne Again SHell Questa non l'ho capita... $ls -la /bin/sh 0 lrwxrwxrwx 1 root root 4 2005-01-24 09:33 /bin/sh - bash Se anche per lui e` cosi` sta usano la bash anche se indica sh E` cosi` anche per te vero Andrea? Ciao, Dario signature.asc Description: This is a digitally signed message part