En complément de mes précédents articles sur l’utilisation de subversion sur l’hébergement mutualisé d’ovh.
Voici comment gérer de manière plus avancée les droits des utilisateurs sur les différents dossiers de votre svn.

Je pars du principe que les précédentes étapes ( Installation du dépot svn et configuration des utilisateurs ) sont déjà réalisées.

A présent il faut vous connecter à votre hébergement via ftp.
Rendez-vous dans le dossier “svn/test/conf/” (test correspondant au nom de votre projet)

Récupérer le fichier svnserve.conf pour activer la gestion de authentification.
Décommenter la  ligne anon-access = read
Et remplacer ‘read’ par ‘none’

Décommentez également la ligne authz-db = authz

Dans mon cas le contenu de mon fichier est actuellement le suivant :

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
 
### Visit http://subversion.tigris.org/ for more information.
 
[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
# auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
# password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory.  If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
# realm = My First Repository

Enregistrez votre fichier et renvoyez le sur votre hébergement

Passons ensuite à la configuration des accès en elle-même, récupérer le fichier “authz”

Créer ensuite les groupes d’utilisateurs que vous souhaitez :
Dans mon exemple nous souhaitons que le groupe “limited” ai uniquement accès au dossier /trunk/dossier1/

[groups]
admin = herve
devs = user2,user3,user4
limited = userlimited

Puis nous allons créer les accès par défaut :

[/]
@admin = rw
@devs = rw
* =

Ensuite nous crééons l’accès uniquement pour le dossier souhaité : /trunk/dossier1/
Attention à bien retirer le dernier “/”

[ /trunk/dossier1]
@limited = rw

Les utilisateurs du groupe “limited” peuvent à présent uniquement accèder au dossier /trunk/dossier1/ 🙂