GNT sans publicité, site mobile, fonctionnalitées exclusives...

La cde" mkdir" ne marche pas avec Apache

Le
Vincent
Bonjour,



La commande mkdir (pour créer un répertoire) ne marche pas sur mon PC avec
Apache.



Lorsque je teste mon programme sur mon PC configuré sous windows XP avec
Apache et Active perl 5.8, la commande system « mkdir » ne marche que si je
crée le répertoire dans mon cgi-bin, c'est à dire dans le même répertoire
que la où se trouve mon programme :

$dir="Toto";

system("mkdir $dir "); # ça marche

Mais si je veux le créer un niveau de répertoire au dessus ou en dessous,
ou par un chemin quelconque qui me fait sortir du répertoire cgi-bin cela ne
marche pas.



$dir="../www/Toto"; # ou même :
$dir="../cgi-bin/Toto";

system("mkdir $dir"); # ça marche pas



Avez vous une explication ?

Est ce dû à ma configuration d'Apache ?
Lire la réponse

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy JUST
Le #53709
On Thu, 16 Jun 2005 00:17:29 +0200
"Vincent"
la commande system « mkdir » ne marche que si je crée le répertoire
dans mon cgi-bin, c'est à dire dans le même répertoire que la où se
trouve mon programme


Sur un système configuré de façon à la fois standard et sûre, ça ne
devrait même pas fonctionner.


Avez vous une explication ?
Est ce dû à ma configuration d'Apache ?


Je pense que c'est un problème de droits.
Généralement, Apache doit tourner en tant qu'un utilisateur qui n'a
*aucun* droit de modification dangeureuse sur le système (souvent un
pseudo-utilisateur « nobody » ou « http »). Si c'était le cas chez toi,
tu ne devrais même pas pouvoir créer un répertoire dans cgi-bin (à
moins que cgi-bin ne soit world-writable).


Ce n'est pas un problème de Perl mais un problème de politique de
sécurité. Avant de choisir une solution parmi les différentes
possibilités, évalue tous les risques qui peuvent se présenter.



Pour parler de Perl, plutôt que faire un
system("mkdir $dir ")
tu devrais faire
mkdir $dir
qui est plus sûr, plus simple et plus efficace.

--
Jérémy JUST
Publicité
Suivre les réponses
Poster une réponse
Anonyme