2008-11-11 9 views
5

Je fais de la maintenance sur un serveur svn privé. L'authentification est gérée via Apache basic HTTP + mod_authz_svn. Je dois l'avoir pour que chaque utilisateur ait un accès en lecture/écriture, à l'exception d'un seul utilisateur en lecture seule. L'utilisateur en lecture seule doit cependant être authentifié. Je configure mon fichier de configuration authz comme ceci:Utilisateur en lecture seule pour svn

[/] 
* = rw 
read-only = r

Mais cela ne fonctionne pas. L'utilisateur "en lecture seule" peut toujours valider les modifications. Je peux rendre les choses en lecture seule pour tout le monde, mais le bit * semble remplacer ce que j'essaie de définir en lecture seule.

FWIW, pièce pertinente de l'Apache est conf:

 <Location /repos> 
    DAV svn 
    SVNPath ... 
    SVNIndexXSLT "/svnindex.xsl" 

    AuthzSVNAccessFile ... 

    AuthType Basic 
    AuthName ... 
    AuthUserFile ... 
    Require valid-user 
</Location> 

Répondre

8

Dans ce cas, l'utilisateur en lecture seule en écriture encore accès comme il correspond également au groupe *.

Un moyen sûr d'obtenir ce que vous voulez est de créer un groupe de tous les utilisateurs sauf en lecture seule, par ex.

[groups] 
all-but-ro = harry, sally, ... 

[/] 
@all-but-ro = rw 
read-only = r 

(alternativement, vous pourriez générer beaucoup = lignes rw sur le fichier passwd)

Il se pourrait que svn correspond de haut en bas - ce n'est pas documenté, et je n'ai pas testé . Donc, essayez

[/] 
read-only = r 
* = rw 
+0

+1: _Exactement ce que j'allais dire :-) – alastairs

+0

J'ai essayé la correspondance inverse, ne fonctionne pas. Existe-t-il un moyen de rendre le groupe automatique? Je préfère ne pas avoir à reconstruire ce fichier chaque fois qu'un utilisateur est ajouté au serveur. – iconoplast

+0

Si c'est le fichier complet - quel est le problème avec la construction automatique? –

0

Hmmm, les messages précédents peuvent être correctes sur l'ordre ACL, mais ...

Ma configuration comprend

AuthzSVNAccessFile "<path-to-svn-acl-file>" 

Serait-ce aussi un problème?

Questions connexes