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

Réseau Discussion :

Droit d’accès à un répertoire pour l'utilisateur apache www-data sans en changer le propriétaire


Sujet :

Réseau

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Par défaut Droit d’accès à un répertoire pour l'utilisateur apache www-data sans en changer le propriétaire
    Bonjour,

    J'ai un répertoire "monRep" dont le propriétaire est monGroup/monGroup, les droits récursif du répertoire sont 777.
    J'essaie de zipper le contenu d'un de ses sous répertoire en PHP. L'utilisateur est celui qui lance apache c'est à dire www-data (si je ne me trompe pas).

    J'ai alors un message "file_get_contents(/monRep/monFichier): failed to open stream: Permission denied

    Pour régler le problème, j'ai ajouté l'utilisateur www-data à "monGroup". Je pensait que je récupérer les droit d'accés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addUser www-data monGroup
    Mais j'ai toujours le même problème.

    J'ai essayer de faire l'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    addUser monGroup www-data
    Toujours sans succès

    J'ai ainsi dans /etc/group
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monGroup:x:1023:www-data,monGroup
    www-data:x:33:monGroup
    Ma question : Comment faire pour avoir les droits d’accès sur ce répertoire sans en changer le propriétaire ?

    Les droits du propriétaire sont utilisés par un applicatif que je ne maitrise pas et je ne veux pas changer les droit pour ne pas perturber l'applicatif.

    Au cas ou :-), ci dessous mon code PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $zip = new \ZipArchive();
    .... // constitution des fichiers à zipper dans le tableau $files
    foreach ($files as $f) {
       $zip->addFromString(basename($f),  file_get_contents($f));
    }
    $zzip->close();
    Avec mes remerciements par avances pour vos pistes de solutions
    Je suis bloqué et ne sais pas quoi faire.

  2. #2
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    649
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 649
    Billets dans le blog
    1
    Par défaut
    bonjour ouioui2000
    c'est peut-être l'applicatif le problème; s'il crée un fichier avec un droit 600, le groupe n'y a pas accès sinon, je ne vois pas

  3. #3
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Comment donner des droits particulier à un utilisateur un répertoire sans forcément lui donner accès à tout ce que le groupe peut accèder ?

    La solution la plus simple consiste à activer ACL sur le système de fichier.

    https://help.ubuntu.com/community/FilePermissionsACLs

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Par défaut
    Merci pour vos réponses,

    @Michel : mon applicatif créé les fichiers en 644. Si je force à 777 je n'accède toujours pas à mon fichier
    @becket
    J'ai lu de la doc sur acl et je comprends qu'en mettant mon utilisateur dans le group www-data je vais créer une faille et ACL est mon ami :-) .... mais ... pourquoi déjà ca ne marche pas avec les group et user gérés par chown.

    Comme acl est déjà installé sur ma distribution ubuntu 18, j'ai ajouté via ACL mon utilisateur www-data (celui sous lequel tourne le serveur web).

    Voici le code => Ajout de l'utilisateur "www-data" recursivement avec des droits "wrx"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $ sudo setfacl -R -m u:www-data:rwx /data/storage/fs1/2018/09/20/D7F147EE/ACD43B77
    $ sudo getfacl /data/storage/fs1/2018/09/20/D7F147EE/ACD43B77
    user::rwx
    user:www-data:rwx
    group::r-x
    group:www-data:rwx
    mask::rwx
    other::r-x
    Sur mon application web j'ai toujours un message d'erreur :
    Warning: file_get_contents(/data/storage/fs1/2018/09/20/D7F147EE/ACD43B77/ACD442D6): failed to open stream: Permission denied

    Autre point, j'ai mis comme propriétaire mon user "toto" sur un fichier particulier (avec un << sudo chown toto:toto /data/storage/fs1/2018/09/23/BB611490/2E9FED0E/00864C4F >>)
    et je ne peux pas y accéder en étant logué comme toto.... Permission denied

    Avec sudo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto@ns3115499:~$ sudo ls -l /data/storage/fs1/2018/09/23/BB611490/2E9FED0E/00864C4F
    -rwxrwxrwx 1 toto toto 526526 sept. 23 11:13 /data/storage/fs1/2018/09/23/BB611490/2E9FED0E/00864C4F
    sans sudo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto@ns3115499:~$  ls -l  /data/storage/fs1/2018/09/23/BB611490/2E9FED0E/00864C4F
    ls: cannot access '/data/storage/fs1/2018/09/23/BB611490/2E9FED0E/00864C4F': Permission denied
    Il y a quelque chose qui m’échappe.

    Merci beaucoup si vous avez des pistes :-)

  5. #5
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Utilises-tu SELinux par le plus grand des hasards ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Par défaut
    Non, à ma connaissance je n'utilise pas SELinux :-).

  7. #7
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Tu sais donner le résultat de


  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Par défaut
    Voici les commandes linux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $ mount 
    ....
    /dev/md6 on /data type ext4 (rw,relatime,data=ordered)
    ....
    $ cat /etc/fstab
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    /dev/md3        /       ext4    errors=remount-ro       0       1
    /dev/md2        /boot   ext4    errors=remount-ro       0       1
    /dev/md4        /home   ext4    defaults        1       2
    /dev/md6        /data   ext4    defaults        1       2
    /dev/sda5       swap    swap    defaults        0       0
    /dev/sdb5       swap    swap    defaults        0       0
    /dev/sdc5       swap    swap    defaults        0       0
    proc            /proc   proc    defaults                0       0
    sysfs           /sys    sysfs   defaults                0       0
    /dev/sda1       /boot/efi       vfat    defaults        0       0

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 109
    Par défaut
    Bonjour,

    Je n'ai toujours pas de solution. Je bloque. Je me demande même s'il y a une solution ?

    Auriez-vous des suggestion pour j'avance ?

    Avec mes remerciements pour vos conseils éclairants.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2010, 10h07
  2. 2 répertoires pour un serveur apache
    Par d.w.d dans le forum Apache
    Réponses: 6
    Dernier message: 30/10/2007, 11h04
  3. Supprimer clic droit pour un utilisateur
    Par flag dans le forum Administration système
    Réponses: 2
    Dernier message: 04/11/2006, 16h04
  4. Réponses: 8
    Dernier message: 27/07/2006, 09h40
  5. Droits d'utilisateur pour lancement d'Apache
    Par webrider dans le forum Administration système
    Réponses: 3
    Dernier message: 15/07/2006, 12h53

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