IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Faire un rsh en php


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut [Système] Faire un rsh en php
    Bonjour à tous,

    j'essaie désepérement de lancer un shell avec rsh en php (sous Unix), sans y parvenir :
    apache est lancé en tant que root sur une machine que l'on appelle machineA

    si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $toto=shell_exec("ls");
    j'obtiens bien le retour désiré.

    Cependant, j'aurais besoin d'exécuter des commandes avec d'autres users, sur d'autres machines...
    Pour décomposer le problème à son niveau le plus simple, je fais donc un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $toto=shell_exec("rsh machineA ls");
    et là, $toto est vide (le script mets tout de même un certain temps à s'exécuter, de l'ordre de 3-4 secondes)

    Pourtant, si je me loggue sur machineA, en tant que root, je peux lancer un rsh machineA ls sans problème !
    J'ai essayé les différents dérivés (exec, system, passtrhu) sans plus de résultat.

    Quelqu'un aurait-il déjà rencontré ce problème ?
    Merci d'avance

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2002
    Messages : 314
    Points : 265
    Points
    265
    Par défaut
    ça serait pas un problème de droit justement ?

    Ou PHP n'a peut-être pas le droit d'utiliser cette fonction :
    Voir les Notes sur :
    http://de3.php.net/manual/fr/function.system.php

    Si vous allez passer des données provenant de l'utilisateur à cette fonction, vous devez utiliser escapeshellarg() ou escapeshellcmd() pour être sûr qu'ils n'endommagent pas le système en exécutant des commandes arbitraires.

    Note: Si vous démarrez un programme en utilisant cette fonction et que vous voulez le laisser tourner en arrière plan, vous devez vous assurer que la sortie du programme est redirigée vers un fichier, ou un autre flux de sortie, sinon PHP attendra jusqu'à la fin de l'exécution du programme.
    Note: Lorsque le safe mode est activé, vous pouvez uniquement exécuter des programmes qui se situent dans le dossier défini par safe_mode_exec_dir. Pour des raisons pratiques, il n'est actuellement pas permis d''avoir le composant .. dans le chemin de l'exécutable.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Merci de cette réponse, néammoins, je n'ai pas encore la solution car le safe_mode n'est bien activé, et donc il devrait avoir autant le droit de faire un ls qu'un rsh...

    Ayant testé longtemps la commande (directement dans le shell), l'utilisation de escapeshellarg() ou assimilé ne m'apporte rien, ayant djéà effectué les échappements à la main (et mon simple exemple de "rsh machineA ls" n'a pas besoin d'échappement d'ailleurs).
    Je n'ai vraiment pas d'idée sur la source du problème...

Discussions similaires

  1. [Librairie] [TELNET] Faire du telnet en PHP sur un serveur distant
    Par kaboume dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 10/06/2010, 14h24
  2. Réponses: 6
    Dernier message: 20/07/2007, 01h38
  3. Faire cohabiter ASP et PHP sur une même DB
    Par freud dans le forum Général Conception Web
    Réponses: 12
    Dernier message: 12/10/2005, 17h42
  4. [Système] lancer command unix par php
    Par naourass dans le forum Langage
    Réponses: 3
    Dernier message: 05/10/2005, 14h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo