Forum Linux.debian/ubuntu Apache en local : permissions user/www-data

Posté par .
Tags : aucun
0
3
nov.
2012

Bonjour,

J'ai un problème avec les droits d'accès Apache en local.

J'utilise le module userdir qui me donne accès à un répertoire dans mon dossier personnel.

Si j'utilise un CMS, qui demande que le propriétaire de ses fichiers soit Apache (www-data), je ne peux pas modifier ces fichiers avec mon compte, ce qui m'oblige à chowner en permanence, et ce n'est pas très agréable.

J'aimerais donc pouvoir modifier avec $USER des fichiers appartenant à www-data, de façon transparente et sans trop faire n'importe quoi au niveau de la sécurité.

J'ai lu plein de techniques de par le web, des solutions comme suexec/suphp aux mélanges de groupes/permissions, chacune ne marchant pas forcément, voire pas du tout.

Si vous avez une solution simple et fiable, je vous en serais fortement reconnaissant !

Merci

  • # chmod g+s ?

    Posté par (page perso) . Évalué à 5.

    sur /var/www

    et tu ajoutes ton utilisateur au groupe www-data, ou mieux crée un nouveau groupe par ex webmaster ( $user et www-data en font partie ), et chgrp /var/www

    Système - Réseau - Sécurité Open Source

    • [^] # Re: chmod g+s ?

      Posté par . Évalué à 1.

      Salut,

      Merci pour ta réponse mais ça ne marche toujours pas, ou en tout cas je n'ai pas très bien compris la marche à suivre.

      Voici un exemple de question similaire qui reçoit plein de réponses différentes mais jamais très claires, ni très simples:
      http://serverfault.com/questions/339948/user-permissions-for-both-apache-and-local-user

      Je suis plus séduit par l'option création de nouveau groupe (webdev), j'ai ajouté www-data et $USER à ce groupe, mais quid du propriétaire des fichiers ? Si je mets www-data je ne peux pas modifier les fichiers avec $USER, et vice-versa.

      Avec chmod g+s ça ne change rien.

      Merci!

      • [^] # Re: chmod g+s ?

        Posté par . Évalué à 2. Dernière modification le 04/11/12 à 19:55.

        Bon il s'avère que la première solution donnée dans le lien plus haut fonctionne. Apparemment les permissions Unix ont du mal à faire cette chose plutôt simple et faut utiliser les permissions Posix.

        setfacl -R -m www-data:rwx /home/user1/public_html
        setfacl -R -d -m www-data:rwx /home/user1/public_html
        setfacl -R -m user1:rwx /home/user1/public_html
        setfacl -R -d -m user1:rwx /home/user1/public_html
        
        

        Merci quand même.

      • [^] # Re: chmod g+s ?

        Posté par . Évalué à 2.

        Je suis plus séduit par l'option création de nouveau groupe (webdev), j'ai ajouté www-data et $USER à ce groupe, mais quid du propriétaire des fichiers ? Si je mets www-data je ne peux pas modifier les fichiers avec $USER, et vice-versa.

        simplement en gardant comme propriétaire : ton utilisateur
        comme groupe celui de www-data
        et en mettant les droits à 2770
        le 2 pour que les dossiers transmettent le groupe www-data
        le premier 7 pour que l'utilisateur puisse lire/ecrire/executer ou traverser
        le 2e 7 pour que le groupe www-data puisse lire/ecrire/executer ou traverser

        • [^] # Re: chmod g+s ?

          Posté par . Évalué à 3.

          Ok merci, mais la solution que j'ai posté au-dessus me semble quand même moins galère, je n'ai pas envie d'aller modifier les permissions en profondeur sans trop savoir ce que je fais.

          • [^] # Re: chmod g+s ?

            Posté par . Évalué à 3.

            je n'ai pas envie d'aller modifier les permissions en profondeur sans trop savoir ce que je fais.

            pourtant c'est exactement ce que tu fais avec ton setfacl,

            en l'occurence avec le chmod 770 et le chown, tu ne va modifier que les dossiers dont ton CMS a besoin.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.