SVN authentification LDAP
La gestion des comptes sur un serveur SVN ne permet pas de valider les connexion sur un annuaire LDAP, et se base sur le fichier de configuration interne. Cependant, l'exposition de SVN sous Apache permet de bénéficier du module d'authentification sur un annuaire LDAP, voir Module Apache LDAP. Ce module, après validation du compte, va transmettre le nom de l'utilisateur au serveur SVN.
Il est donc nécessaire de modifier les configurations:
- Exposition de SVN sous Apache, voir SVN sous Apache.
- Les autorisations d'accès.
Trois sites ont été consultés pour mettre en place la configuration:
- http://www.crium.univ-metz.fr/docs/system/svn/
- http://romain.therrat.fr/linux-configurer-svn-avec-ldap/11/
- http://linuxfr.org/users/alag/journaux/mini-tutoriel-sur-la-configuration-svnhttps-ldap-avec-suse-9
Dans ces exemples, l'accès à l'annuaire est configuré avec un login / mot de passe. Or l'installation réalisé dans le cadre de cette étude, cf OpenLDAP Installation, ne nécessite pas ce type de configuration.
Sommaire
Votre avis
Current user rating: 52/100 (7 votes)
|
|
Configuration
Configuration Apache
La mise en place de l'authentification LDAP est détaillé dans l'article Module Apache LDAP. Ce type de configuration s'effectue dans la configuration du module SVN, soit le fichier dav_svn.conf
.
Droits d'accès
Après la mise en place de la configuration Apache, il est utile de modifier les droits d'accès au repository en fonction du compte utilisateur. Restriction Accès
Exemple
Cet exemple permet de donner un accès aux comptes LDAP déclarés sous l'OU ou=people,dc=ejnserver,dc=fr
. Seul le compte etienne
aura un accès en écriture sur les fichiers, tous les autres auront un accès en écriture, mais nécessitant tout de même une authentification.
Configuration Apache
Le fichier /etc/apache2/mods-enabled/dav_svn.conf
, ou la déclaration des sites, sont modifiés en ajoutant la configuration suivante:
<location /svn/study>
DAV svn
SVNPath /var/opt/svn/study
SVNAutoversioning on
AuthzSVNAccessFile /var/opt/svn/study/conf/authz
AuthType Basic
AuthName "Study Repository"
AuthBasicProvider ldap
AuthLDAPURL ldap://localhost:389/ou=people,dc=ejnserver,dc=fr?uid
require valid-user
</location>
La configuration de AuthzSVNAccessFile
permet de spécifier l'emplacement du fichier contenant les droits d'accès aux fichiers.
Droits d'accès
Afin de définir les droits d'accès, le fichier /var/opt/svn/study/conf/authz
est modifié afin de spécifier les droits pour le compte etienne
et pour tous les autres:
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
etienne = rw
* =