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] Problème d'exécution .sh


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut [Système] Problème d'exécution .sh
    Bonjour,
    j'ai un problème sous linux, je n'arrive pas via un script php à exécuter un fichier sh.
    Meme un simple commande ne s'éxécute pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $var=shell-exec('ls -l');
    echo $var;
    ?>
    J'ai aussi testé avec system(), les guillemets obliques ``....
    Petite précision mon safe mode et Off

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Je vais ptet dire une grosse bétise parce que je maitrise pas linux mais
    ça m'est passé par la tête

    Mais est-ce que l'utilisateur qui lance la commande, normalement 'www-data' (Apache), a un shell ?

    Si j'en ai dit une grosse, expliquez moi plz :-)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Un shell??? de quoi tu veux parler?s'il a le droit d'exécuter les commandes c'est ça??
    je sais pas et je ne sais pas comment le vérifier...
    Ce que je sais que ce meme code avec un fichier bat a la place sur un serveur wamp ça fonctionne.
    Et n'est de bétise que ceux qui n'ose rien dire

  4. #4
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 239
    Points
    8 239
    Par défaut
    tout est contenu dans /etc/passwd. si tu as un accès ssh ou direct sur la machine, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /etc/passwd | grep www-data
    le dernier champ indique le shell.

    mais je crois pas que shell-exec donne quelque chose en sortie (à part 1 ou 0).

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Le_coyote
    tout est contenu dans /etc/passwd. si tu as un accès ssh ou direct sur la machine, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat /etc/passwd | grep www-data
    le dernier champ indique le shell.

    mais je crois pas que shell-exec donne quelque chose en sortie (à part 1 ou 0).
    J'ai fais ta commande je ne sais pas ce que ça m'a fais mais ça ne marche tjs pas.

    Dans mon code j'ai également testé sytem(), exec(), ``(guillemet obliques)... et rien ne fonctionne

  6. #6
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 239
    Points
    8 239
    Par défaut
    ça veut dire que tu n'as pas d'utilisateur www-data ça devrait afficher quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www-data:x:33:33:www-data:/var/www:/bin/sh
    il faut d'abord identifier l'utilisateur du serveur web (httpd, apache, www-data, etc) et ensuite rechercher à nouveau.

    j'explique la commande vite fait : tu affiches /etc/passwd grâce à cat et ensuite tu cherches le mot www-data dans ce fichier grâce à grep.

    edit : j'ai pas fait attention, la fonction c'est shell_exec au lieu de shell-exec

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Le_coyote
    ça veut dire que tu n'as pas d'utilisateur www-data ça devrait afficher quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www-data:x:33:33:www-data:/var/www:/bin/sh
    il faut d'abord identifier l'utilisateur du serveur web (httpd, apache, www-data, etc) et ensuite rechercher à nouveau.

    j'explique la commande vite fait : tu affiches /etc/passwd grâce à cat et ensuite tu cherches le mot www-data dans ce fichier grâce à grep.
    Merci pour l'explication de la commande.
    Comment faire pour identifier l'utilisateur du serveur web???
    quand je fait le cat je trouve apache:48:48:Apache:/var/www:/sbin/nologin
    c'est bon ça Non??

  8. #8
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 239
    Points
    8 239
    Par défaut
    c'est bien ça. ton shellest nologin, donc tu risques pas d'avoir ce que tu veux. si tu ne crains pas pour la sécurité de ton serveur, mets /bin/sh à la place et pense à changer le - en _ dans shell_exec

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut
    ok je vais tester.
    Pour shell_exec() c'est une erreur de frappe et j'ai résolu le problème en mettant ``a la place.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Points : 55
    Points
    55
    Par défaut [Résolu]
    :o
    pour executer un . sh il faut otut simplement metter dans php:
    `sh toto.sh`(guillemet obliques)
    Merci de votre aide quand meme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Problème d'exécution d'un Web Service
    Par kheiro dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2006, 14h26
  2. [Système] Problème appel exécutable
    Par Aurel 76 dans le forum Langage
    Réponses: 5
    Dernier message: 29/04/2006, 14h49
  3. [Système] Problème d'exécution DOS sous PHP
    Par chtichokoko dans le forum Langage
    Réponses: 7
    Dernier message: 28/04/2006, 16h26
  4. [Système] problème d'exécution d'une boucle
    Par WalidNat dans le forum Langage
    Réponses: 6
    Dernier message: 02/04/2006, 00h55
  5. Réponses: 5
    Dernier message: 19/04/2005, 08h50

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