Forum général.général Subversion : multi-repository et droits d'accès

Posté par  .
Étiquettes : aucune
0
12
avr.
2006
J'ai commencé à mettre en place un serveur subversion et je souhaite pouvoir limiter l'accès aux différents repository.

Côté apache2, la conf ressemble à ça :

<Location />
DAV svn
SVNParentPath /var/lib/svn
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
AuthName "Subversion"
AuthLDAPURL "ldap://ldap/ou=ab,o=xyz,c=fr?uid"
AuthLDAPAuthoritative on
AuthLDAPGroupAttribute memberUid
AuthType Basic

Order Deny,Allow
Deny from all
Allow from 127.0.0.1/32
Allow from localhost
Allow from 192.168.1.0/24
Allow from ab.xyz.fr

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location />


Dans /var/lib/svn, se trouve actuellement un seul repository/projet (apf).

Et voici le contenu du fichier /etc/apache2/dav_svn.authz :
[groups]
prj-sys = foo, bar

[/]
* = r

[apf:/]
@prj-sys = rw


Avec cette configuration, les autorisations fonctionnent mais tout le monde a accès en lecture.
Je souhaiterais pouvoir restreindre l'accès à certains projets pour empêcher l'accès anonyme, et donc que dans le cas ci-dessus l'utilisateur doive s'identifier et s'authentifier dès qu'il souhaite accéder au repository apf.

Si je supprime l'accès anonyme en lecture pour /, j'ai des erreurs "PROPFIND request failed"...

Si quelqu'un a une solution, une piste, une doc... je suis preneur.

Merci.
  • # ça marche

    Posté par  . Évalué à 2.

    Bon en fait je pense avoir trouvé :

    Pour forcer l'identification et l'authentification, il suffit de remplacer la section LimitExcept

    <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    </LimitExcept>


    par un simple

    Require valid-user
    • [^] # Re: ça marche

      Posté par  . Évalué à -1.

      Si tu fais ça tu vas empêcher l'accès anonyme pour tous les projets.

      Si tu veux l'empêcher que pour 'certains' projets, tu peux essayer d'ajouter d'autres directives Location plus specifiques a ta conf apache

      <Location /projet>
      Require valid-user
      </Location>

      par exemple

      une autre solution serait de modifier ton fichier d'autorisation svn pour les projets ou tu veux pas d'acces anonymes

      [projet:/]
      @prj-sys = rw
      * =

      je suis pas sur de cette dernière mais rien dans la doc de subversion laisse à penser que celà n'est pas possible
      • [^] # Re: ça marche

        Posté par  . Évalué à 1.

        J'ai essayé la solution de ne donner aucun droit (* = ) aux anonymes projet par projet mais ça ne semblait pas fonctionner.

        Le fait d'empêcher l'accès anonyme n'est pas gênant car ce ne sont pas des projets publics, c'est un serveur interne à une société.

        Mais maintenant, je peux ouvrir (ou pas) les droits en lecture pour tous ceux qui sont identifiés, et ce projet par projet.

Suivre le flux des commentaires

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