Zugriffsrechte fuer Verzeichnisse in Subversion-Repositories
Mit der Datei <RepositoryName>/<RepositoryName>_accessfile
, die in jedem Repository vorhanden ist, können die Zugriffsrechte auf einzelne Verzeichnisse im Repository verändert werden.
Standardmäßig enthält die Datei folgende beide Zeilen:
[<RepositoryName>:/]
* = rw
Diese beiden Zeilen werden in jedem Repository benötigt, damit man es überhaupt auschecken kann.
Sie bedeuten:
- Das Verzeichnis /
mit all seinen Unterverzeichnissen im Repository <RepositoryName>
sind für alle user (*
) les- und schreibbar (rw
)
Anpassen der Datei an eigene Anforderungen:
Soll zum Beispiel das Verzeichnis <RepositoryName>/secret
nur fuer den User user1
les- und schreibbar sein, sowie für den user user2
nur lesbar, dann muss die Datei wie folgt aussehen:
[<RepositoryName>:/]
* = rw
[<RepositoryName>:/secret]
user1 = rw
user2 = r
In diesem Fall ist dann für alle anderen User das Verzeichnis weder les- noch schreibbar.
Im nächsten Beispiel ist das Verzeichnis /public
für alle les- und schreibbar. Das Verzeichnis /readonly
kann zwar von allen Usern gelesen werden, aber nur der User admin
darf darin Dateien verändern:
[<RepositoryName>:/]
* = rw
[<RepositoryName>:/readonly]
* = r
admin = rw
Wie man hier sieht, muss man also fuer das Verzeichnis /public
nicht extra angeben, dass es von jedem gelesen und geschrieben werden darf, da dies mit der ersten Regel schon erledigt wird. Beim Verzeichnis /readonly
muss allerdings explizit wieder angegeben werden, dass alle es lesen dürfen, da falls nur die Zeile admin = rw
existiert sonst niemand mehr Zugriff auf das Verzeichnis hat.
Weitere Informationen hierzu (auch wie man Gruppen definiert etc.) findet man unter: http://svnbook.red-bean.com/en/1.1/ch06s04.html