Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2012, 13h52   #1
Membre éclairé
 
Inscription : mars 2002
Messages : 667
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 667
Points : 312
Points : 312
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 :
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.
Delphi-ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 13h59   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
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).
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 11h25   #3
Membre éclairé
 
Inscription : mars 2002
Messages : 667
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 667
Points : 312
Points : 312
Citation:
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.
Delphi-ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 11h48   #4
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
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.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 09h28   #5
Membre éclairé
 
Inscription : mars 2002
Messages : 667
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 667
Points : 312
Points : 312
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.
Delphi-ne est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h07.


 
 
 
 
Partenaires

Hébergement Web