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 :

exec() utilisateur d'execution (windows) [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut exec() utilisateur d'execution (windows)
    bonjour,

    pour faire bref je voudrait savoir si il était possible de modifier l'utilisateur qui va exécuter une commande avec exec(), sans changer l'utilisateur du service apache.

    voici mon problème exacte : j'ai développé un programme console en csharp qui utilise WSE. Ce programme entre autre utilise un lecteur de carte CPS (médecin), le logiciel CLEO Cryptolib CPS stock les certificat contenu sur la carte dans la bibliothèque de l'utilisateur courant. Au première appel ce même logiciel ouvre une petite fenêtre dans laquelle l'utilisateur doit entré sont code PIN.
    Maintenant lorsque je lance mon programme avec apache en utilisateur system, il ne trouve évidement pas les certificats puisqu'il ne sont pas dans sa bibliothèque.
    J'ai donc changer l'utilisateur du service apache vers celui courant, mais cela pose plusieurs problème évident :
    • la sécurité
    • le dynamisme

    Dans tout les cas ça ne marche que partiellement de toute façon : le programme trouve bien le certificat, mais le programme ne ce termine jamais; Il reste bloqué, au vu des log probablement à cette fameuse demande de code pin qui évidement, pour compliquer les chose, n'apparait jamais.

    j'espère avoir été compréhensible,

    Benoît

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    En utilisant runas ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    Citation Envoyé par sabotage Voir le message
    En utilisant runas ?
    je ne connaissait pas la commande, merci je test ça de ce pas.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    cette fameuse demande de code pin qui évidement, pour compliquer les chose, n'apparait jamais.
    Si ce qui n'apparait jamais c'est ta fenêtre graphique c'est normal. Par défaut ce n'est pas possible d'afficher une fenêtre graphique via exec.

    Il faut modifier le service apache : clic droit sur le service => propriétés => onglet connexion
    Et dans cet onglet coché : autoriser le serviceà intéragir avec le bureau.

    Sans ça impossible d'afficher une fenêtre graphique lancée depuis un programme.

    Par contre attention ce n'est pas possble ( à ma connaissance) sous linux
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    Citation Envoyé par grunk Voir le message
    Si ce qui n'apparait jamais c'est ta fenêtre graphique c'est normal. Par défaut ce n'est pas possible d'afficher une fenêtre graphique via exec.

    Il faut modifier le service apache : clic droit sur le service => propriétés => onglet connexion
    Et dans cet onglet coché : autoriser le serviceà intéragir avec le bureau.

    Sans ça impossible d'afficher une fenêtre graphique lancée depuis un programme.

    Par contre attention ce n'est pas possble ( à ma connaissance) sous linux
    en fait le gros problème c'est que ce n'est pas ma fenêtre graphique qui apparait, mais celle d'un programme sur lequel je n'ai aucun contrôle, qui récupère la clef privé sur le lecteur de carte.

    le "autoriser le service à intéragir avec le bureau" je l'avais tester mais pas combiner avec runas, donc à tester.

    runas me pose le problème de demande de mot de passe. j'ai trouvé xrunas.vbs qui résout ce problème, mais cscript semble ne rien faire dans le exec() de php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    cscript xrunas.vbs /savecred /user:"Benoît Guillaume" /pwd:**** dir
    return : 
    return_value : 0
     
    runas /savecred /user:"Benoît Guillaume" dir
    return : Entrez le mot de passe de Benoît Guillaume : 
    return_value : 1
    je vais donc tester runas avec proc_open au lieu de exec, cela devrait me permettre d'entrée le mdp.

  6. #6
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 5
    Par défaut
    bon je n'arrive pas a faire fonctionner proc_open avec runas (jamais utiliser cette fonction). Par contre j'ai trouvé une méthode très bourrine, je ne lance apache en service, mais en ligne de commande. Ça résout tout mes problèmes et ça va me permettre d'avancé en attendant de trouvé une meilleur solution.

    ps : pour le "autoriser le service à intéragir avec le bureau", il n'apparait pas lorsque l'on ouvre le service sur un compte local au lieu du system, je suppose que sait le fonctionnement obligatoire.

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

Discussions similaires

  1. h:commandButton executé window.close
    Par *alexandre* dans le forum JSF
    Réponses: 1
    Dernier message: 28/09/2006, 15h32
  2. Executable Windows Sous Linux
    Par claralavraie dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 27/06/2006, 06h35
  3. Executable Windows
    Par joker.benj dans le forum NetBeans
    Réponses: 5
    Dernier message: 20/05/2006, 18h04
  4. Réponses: 4
    Dernier message: 13/11/2005, 12h16
  5. [System][EXEC] Probleme d'execution avec une commande parametrée.
    Par chicorico dans le forum Général Java
    Réponses: 15
    Dernier message: 20/05/2005, 15h07

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