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 :

Modification des droits d'un répertoire [PHP 5.2]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut Modification des droits d'un répertoire
    J'ai donc un ennui avec la commande PHP CHMOD()

    Je suis sur un serveur dedian avec XAMPP d'installé.

    le groupe www-data possède les droits rwx sur le répertoire /opt/lamp (avec l'ensemble des sous répertoires).

    Dans mon code php (fonction servant d'upload) je souhaite temporairement autoriser l'écriture d'un utilisateur authentifié dans ce répertoire /opt/lamp/htdoc/monsite/repUpload.

    donc j'ai un malheureux bout de code qui fait ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	$dossier = '../repUpload/upload/';
    	// permettre a un fichier d'etre uploader.
    	chmod ($dossier, 0755);
            /*code de gestion*/
           chmod ($dossier, 0644);
    sous windows, mon code s'exécute sans souci et le fichier client est bien uploadé. Sous linux en revanche j'obtiens ce message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Warning: chmod() [function.chmod]: Opération non permise in ********** on line 13
     
    Warning: move_uploaded_file(../repUpload/****) [function.move-uploaded-file]: failed to open stream: Permission non accordée
    Sous windows, il n'y a pas de gestion de sécurité des répertoires dc le code fonctionne tt le temps. Sous linux, j'ai trouvé beaucoup de gens dans ma situation et pas de solution efficace si ce n'est autoriser le répertoire à etre en permanence en écrire ce qui est assez moyens.

    Quelqu'un saurait il me dire comment contourner cette difficulté?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 33
    Points : 33
    Points
    33
    Par défaut
    A qui appartient le fichier contenant le code ?
    Cet utilisateur n'a certainement pas les droits ?

    Je vérifierais d'abord à qui appartient le fichier et ensuite à qui appartient le répertoire.

    Puis un petit tour sur le manuel, il y a quelques conseils (en cas de safe on par exemple)
    http://uk2.php.net/chmod

  3. #3
    Membre actif Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Points : 239
    Points
    239
    Par défaut
    un ps -AF m'a permit de voir que le process appartenait à NOBODY. J'ai donc changer les droits d'acces à ce répertoire en les mettant temporairement à 777.

    J'ai toujours le message d'erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Warning: chmod() [function.chmod]: Operation not permitted
    Existe t'il un fichier de configuration PHP qui autoriserait certaines fonctions et pas d'autres?

    -------------------------------------------------------------------
    EDIT:

    En réalité, c'est effectivement un probleme de droit linux et non PHP.

    une machine linux créé un process utilisateur nobody pour acceder à xampp.

    Hors le propriétaire d'un répertoire est très souvant root ou l'utilisateur qui a fait le touch pour creer le répertoire d'installation de xampp.

    il m'a fallu changer le propriétaire du répertoire en "nobody"

    maintenant le répertoire est par défaut en lecture pour tout le monde et quand j'en ai besoin, mon script php met lecture/écriture le temps de l'upload puis remet en lecture.

    si c'est pas claire et que quelqu'un rencontre cette difficulté, je détaillerai plus.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mai 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2014
    Messages : 27
    Points : 32
    Points
    32
    Par défaut
    Oui, ça m'intéresse, j'ai fait la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chown ("monrepertoire","nobody");
    Ça marche pas. J'utilise xampp sous Ubuntu

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

Discussions similaires

  1. modification des droits utilisateurs immédiate ?
    Par Aldareis dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/05/2008, 22h19
  2. Gestion des droits dans plusieurs répertoires
    Par Hobbi1 dans le forum Ubuntu
    Réponses: 8
    Dernier message: 15/04/2008, 00h14
  3. modification des droits d'une JSP
    Par yanis97 dans le forum JOnAS
    Réponses: 7
    Dernier message: 20/12/2007, 01h54
  4. modification des droit d'acces
    Par lenul79 dans le forum Mandriva / Mageia
    Réponses: 16
    Dernier message: 15/04/2007, 12h34
  5. Free interdit la modification des droits d'accès?
    Par Killua69 dans le forum Free
    Réponses: 6
    Dernier message: 05/03/2007, 12h28

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