zigfghgf
Messages postés8Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention10 juillet 2010
-
17 mars 2010 à 01:56
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 2013
-
18 mars 2010 à 00:15
salut a tout le monde mon pb est simple je veux lancer le terminal sous ubuntu via une page php .
j'ai essayer exec('xterm'),exec('gnome-terminal')ou exec('Konsole')
mais ca marche pas .Je sais pas quoi faire.
merci d'avance pour vos réponses.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 18 mars 2010 à 00:15
Apache n'a pas de session graphique, donc pas de fenêtrage, donc pas de pseudo terminal du genre xterm ou autre. Surtout ce n'est pas fait pour ça :
- La communication asynchrone n'est pas appropriée.
- Question sécurité tu vas laisser des failles monumentales (et c'est déjà fait à cause de la bêtise d'avoir donné des droits root à apache).
- PHP et la gestion des devices ça fait deux, au revoir la gestion des pty.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 17 mars 2010 à 11:47
Salut,
Chez moi ça fonctionne impeccablement. Bien entendu ça nécessite de lancer le script en ligne de commande et non depuis apache (paquet [apt://php5-cli php5-cli] sous Debian, Ubuntu et dérivés).
tycho@uraniborg-> php -r "exec('gnome-terminal');" #lance un term
tycho@uraniborg-> echo "<?php exec('gnome-terminal'); ?>" > toto.php
tycho@uraniborg-> php toto.php #lance également un term
tycho@uraniborg->
zigfghgf
Messages postés8Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention10 juillet 2010 17 mars 2010 à 12:34
Donc si je comprend bien il est impossible de lancer un terminal a partir de apache même si on lui a donner les droit d'exécuter des cmd en tant que root.
zigfghgf
Messages postés8Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention10 juillet 2010 17 mars 2010 à 12:37
Pour mieux vous expliquer:
Voila mon problème est peut être simple mais il me gâche la vie en ce moment
en faite je veux exécuter la commande dpkg-reconfigure via une page php j'ai modifier le fichier sudoers pour que le www-data ait les droit d'exécuter des cmd en tant que root. mais le problème maintenant est que cette commande dans certain cas demande des choix a faire par l'utilisateur et je ne sait pas comment saisir ces valeur la
j'ai pensé a lancer un script shell qui exécute la cette cmd dans un nouveau terminal pour laisser a l'utilisateur de saisir ces choix.
le script est comme suit:
#!/bin/sh
xterm -e "echo | dpkg-reconfigure slapd" (slapd par exemple)
ce script marche parfaitement si il est lancer par dans le terminal, mais dans la page php il bloque
je ne sais plus quoi faire
Vous n’avez pas trouvé la réponse que vous recherchez ?
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 17 mars 2010 à 12:51
Salut,
Clairement, l'exécution de php par apache n'est pas prévue pour administrer son système à distance. Connecte toi plutôt en ssh, ce sera bien plus efficace et surtout plus sécurisé.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 17 mars 2010 à 20:02
C'est très simple. Sur la machine sur laquelle tu veux te connecter tu installes un serveur ssh et sur la machine depuis laquelle tu veux te connecter tu installes un client ssh (de base sur pas mal de distributions gnu/linux, pour windows utiliser Putty par exemple). Vu que tu es sous ubuntu tu trouveras plein d'infos dans la doc francophone.
zigfghgf
Messages postés8Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention10 juillet 2010 17 mars 2010 à 23:12
merci pour ta réponse mais si tu pouvait m'expliquer pq le je ne peux pas afficher le terminal avec apache depuis une page php alors que je peux exécuter des cmd je trouve ca bizarre