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 :

Mapping sur un lecteur réseau.


Sujet :

Langage PHP

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut Mapping sur un lecteur réseau.
    J'essaie de définir un mapping sur un disque réseau par mon serveur Intranet.

    J'ai trouvé sur un site une recommandation sur la commende SYSTEM plus sûre dans ce cas précis qu'un ordre EXEC.

    Voici le code que j'ai écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $letter= "M";
    $location = "\\167.999.99.99\f888888";
    $pass = "PWD";
    $user = "PRD";
     
    system("net use ".$letter.": \"".$location."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1");
    $x = opendir($letter.":\\");
    If ($x == false){echo "KO";} else {Echo "OK";}
    A l'exécution j'obtiens un warning sur la ligne exécutant le Net Use
    Warning: opendir(M:\) [function.opendir]: failed to open dir
    et bien sûr le répertoire du disque mappé n'est lisible

    Si j'exécute le net use manuellement ou dans un .BAT la connexion fonctionne.

    Merci d'avance de votre aide.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    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 692
    Points : 20 243
    Points
    20 243
    Par défaut
    L'utilisateur system executant apache à t'il les droit sur la commande que tu souhaites exécuter ?

    Sinon pourquoi ne pas monter le lecteur réseau comme un disque de manière permanante ? C'est à mon avis une mauvaise idée de faire un montage/démontage du lecteur à chaque exécution du script (que se passe t'il si un montage est demandé alors qu'il est déjà en cours par exemple).

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    L'utilisateur system executant apache à t'il les droit sur la commande que tu souhaites exécuter ?
    Ma question est justement de savoir comment identifier ce nom d'utilisateur.

    Monter le disque en ressource permanente ne m'est pas possible.
    J'interviens en régie dans un contexte de compte assez gros.
    Ils ont des règles de sécurité assez strictes et même si elles sont discutables je ne peux pas les changer.

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    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 692
    Points : 20 243
    Points
    20 243
    Par défaut
    A la vue de ton premier post j'imagine que tu es sous windows , donc apache doit s'executer en tant que service :

    Tu ouvre le gestionnaire de services => clic droit propriétés sur ton service => onglet connexion => tu dois voir l'utilisateur qui exécute le service.

    Essai donc de lancer la commande avec le même utilisateur que celui qui execute le service, ca te donnera sans doute un axe de recherche.

    Tu peux aussi essayer exec() avec l'argument $output pour avoir un retour de la commande.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Points : 619
    Points
    619
    Par défaut
    Merci de votre aide

    Je viens de vérifier au niveau du service qui exécute Wampmanager.
    C'est la ligne Compte système local qui est cochée.
    J'ai essayé de modifier et de mettre en nom d'utilisateur le compte utilisé pour les traitements. Le mot de passe est vérifié et accepté mais je n'arrive plus à lancer le service.

    Lorsque j'essaie de lancer un Exec en PHP avec le paramètre output je vois bien les commandes qui ont été passées, il n'y a pas de message d'erreur mais il ignore le mapping.

    Pour info c'est à la partition Windows d'un AS400 que j'essaie de me connecter pour récupérer un fichier.

Discussions similaires

  1. liste des fichiers sur un lecteur réseau
    Par Papy214 dans le forum C#
    Réponses: 2
    Dernier message: 04/11/2008, 15h48
  2. installation des données sur un lecteur réseau
    Par jeandu69 dans le forum Administration
    Réponses: 3
    Dernier message: 18/09/2008, 12h52
  3. Ecrire sur un lecteur réseau
    Par remi77 dans le forum Développement
    Réponses: 6
    Dernier message: 20/02/2007, 17h55
  4. Ouvrir un .doc ou .xml sur un lecteur réseau
    Par rteuteu55 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 07/02/2006, 15h46
  5. Ma base sur un lecteur réseau
    Par MashiMaro dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 09/01/2006, 13h04

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