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 ?
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 ?

Poser une question


"Vincent"
Sur un système configuré de façon à la fois standard et sûre, ça ne
devrait même pas fonctionner.
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