Lancer le terminal via php [Résolu]

zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 01:56 - Dernière réponse : TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention
- 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.
Afficher la suite 

10 réponses

Répondre au sujet
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 18 mars 2010 à 00:15
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de TychoBrahe
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 17 mars 2010 à 11:47
0
Utile
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->
Commenter la réponse de TychoBrahe
zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 12:34
0
Utile
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.
Commenter la réponse de zigfghgf
zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 12:37
0
Utile
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
Commenter la réponse de zigfghgf
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 17 mars 2010 à 12:51
0
Utile
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é.
Commenter la réponse de TychoBrahe
zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 13:38
0
Utile
ça peut être stupide!!! mais comment faire pour me connecter en ssh
Commenter la réponse de zigfghgf
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 17 mars 2010 à 20:02
0
Utile
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.
Commenter la réponse de TychoBrahe
zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 23:12
0
Utile
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
Commenter la réponse de zigfghgf
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 17 mars 2010 à 23:22
0
Utile
Le but est justement de ne plus utiliser apache.
Commenter la réponse de TychoBrahe
zigfghgf 8 Messages postés dimanche 17 mai 2009Date d'inscription 10 juillet 2010 Dernière intervention - 17 mars 2010 à 23:34
0
Utile
dsl si je me montre incisant mais pourquoi apache ne peut pas lancer un terminal alors qu'il peut exécuter des cmd shell ?
Commenter la réponse de zigfghgf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.