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] exécution de script shell dans une page php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut [Système] exécution de script shell dans une page php
    Bonjour,
    J'ai parcouru pas mal de forums, mais je n'arrive toujours pas à réaliser ce que je souhaite...
    Bref j'ai un gros script php qui effectue plein de scripts shells et expects (pour des connexions ssh).
    Ce script tourne sans soucis, mais lorsque je l'intègre dans une page PHP, cela ne marche plus.
    J'ai cru comprendre que ct parsqu'il était executé par apache et non plus par root.
    J'ai essayé de faire un chmod u+s monscript afin de donner les droits du propritaire a son executant, sans succès.
    J'ai essayé également de lancer les script shell via exec( "SUDO monscript.sh"); sans succès également.
    J'ai testé aussi les autres fonction include() sh_exec() sans succès.

    Le safe_mode est désactivé dans httpd.conf.
    Et mon fichier error_log m'indique aucune erreurs, si ce n'est:
    ...
    Password:
    Password:
    Password:
    Password:
    Password:
    Password:
    Password:
    Password:
    Password:
    [client *.*.*.*] PHP Warning: fread(): Length parameter must be greater than 0. in /tmp/script.php on line 174, referer: http://*.*.*.*/index.php?page=mapage
    Password:

    Est ce que quelqu'un pourrai m'aider à avancer ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    les commandes de ton script sont en chemin relatif ou absolu ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Bonjour,
    les chemins sont en absolus.

    En fait j'ai avancé sur mon problème.
    Il semblerait que php se place toujours dans le dossier courrant.

    En effet si je fais une pwd sur ma page php, elle me retourne /var/www/html.
    Si je fais cd / à l'interieur de cette même page, elle me retourne toujours /var/www/html.

    Bref j'arrive appeller mon script php (qui se trouve pour l'instant dans /tmp)depuis ma page via le chemin ../../../tmp/script.php (oui c laborieux...)
    celui-ci se lance mais n'arrive pas à lancer les script shell.

    Le fichier error_log d'apache m'indique pour chaque script, permission denied.
    Cependant tous ces scripts sont en 777.
    Je pense qu'il faudrait que je donne à apache les mêmes droits que root, mais je ne sais pas comment faire.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    - Dans tes users SUDO as-tu bien ajouté le user apache ?
    - ESsayes-tu d'écrire dans des dossiers ?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    J'ai avancé un peu.
    En fait j'ai installé tous mes scripts dans un repertoire script dans www/html
    Du coup mon apache arrive a y acceder.
    Cependant pour mes connexions ssh, je doit verifier la clé RSA dans le fichier /root/.ssh/known_hosts. Mais vu que ce fichier n'est pas dans l'arborescence /var/www/html, j'arrive a y acceder ainsi: ../../../root/.ssh/known_hosts mais pas à le modifier...

    Comment je pourrais faire pour donner a apache le droit d'acceder (lire + modifier) a ce fichier.

    De meme, étant donné que j'ai maintenant mes scripts dans ../html/script, il me faudrai sécuriser ce dossier: apache doit pvoir y acceder mais, l'arborescence ne doit pas être disponible sur le site web.

    (J'ai abandonné l'option sudo)

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    je pense que donner les droits root à apache ne serait pas du tout judicieux...
    Il me faudrait plutot modifier les droits d'accès d'apache plutot.
    J'ai essayer:

    <Directory "/var/www/html/script">
    Order allow,deny
    allow from 127.0.0.1
    deny from all
    </Directory>

    Dans httpd.conf. Ce qui effectivement block l'accès a l'arborescence mais ce n'est pas exactement ce que je veut...
    En fait je souhaiterai que l'accès soit autorisé pour quelqu'un de loggué...

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

Discussions similaires

  1. Intégrer des scripts SHELL dans une page web
    Par abdellah 1 dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 10/05/2010, 16h35
  2. Inclure un script bash dans une page php
    Par kazylax dans le forum Linux
    Réponses: 1
    Dernier message: 27/01/2009, 16h59
  3. [Système] Inclure du code PERL dans une page php ?
    Par Munkey74 dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2007, 09h18
  4. Appeller un script shell dans une page html
    Par Scurz dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 04/05/2007, 14h50
  5. [Système] Executer un script CGI dans une page php
    Par RadicalBob dans le forum Langage
    Réponses: 1
    Dernier message: 25/04/2007, 17h46

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