[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: svn server



Andreas Pakulat:
> On 20.05.06 15:51:02, Jochen Schulz wrote:
> > 
> > Gute Frage, ich benutze tatsächlich mod_authz_svn (brauchte ich mich
> > bisher nicht drum kümmern oder habs vergessen). Ich habe das bisher
> > nicht dateiweise probiert, aber man kann halt für jede <Location>
> > festlegen, wer was darf (insbesondere r/w-Zugriffe). Soweit ich es
> > verstehe, können Locations auch auf einzelne WebDAV-"Dateien" matchen.
> 
> Nix <Location>, <Location> ist ein Begriff von Apache und wird ueber
> dessen Authentifizierungsmechanismus abgewickelt. Wenn du nur den
> Benutzt kannst du nur festlegen ob User X Zugriff auf Location Y haben
> soll.

Ich habe keine Ahnung, wie das alles zusammenspielt. Fakt ist, dav_svn
lädt hier mod_authz_svn und damit kann ich Apache sagen, dass er
Authentifizierung *und* Authorisierung machen soll:

<Location /svn/nak>
    AuthName "Subversion repository for project NAK"
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 10.27.0.0/24
    Allow from 172.16.27.0/24
    Require group nak
    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require user jrschulz
    </LimitExcept> 
</Location>

Das <LimitExcept> regelt den Schreibzugriff. In diesem Beispiel dürfen
nur User der Gruppe nak lesen und nur der Benutzer jrschulz schreiben.
Dieses Beispiel regelt diese Rechte für das komplette Repository, aber
das geht sicher auch für einzelne Verzeichnisse.

Kosmetischer Fehler: www-data braucht natürlich Schreibzugriff auf das
Repository, da nur er direkt darauf zugreift. Dafür erleichtert das die
Berechtigungen im Dateisystem.

> Wenn Y das SVN Repository ist, hat derjenige nach der
> Authentifizierung vollen Zugriff (r+w), wenn es ein "Unterpfad" ist in
> dem entsprechenden Pfad. Falls das mit <Location> wirklich so geht...

Klar, das gilt dann rekurisv abwärts. Stört ja aber nicht.

> mod_authz_svn regelt die Authorisierung also welche Rechte Benutzer X
> fuer Pfad Y hat (lesen oder schreiben). Das Format erlaubt dabei diverse
> Moeglichkeiten, aber IIRC kann svnserve dasselbe Format und diesselben
> Rechte benutzen.

In dem vorhin geschickten Link steht, dass man svnserve nur sagen kann,
dass Benutzer X für ein gesamtes Repository Lese- und/oder Schreibrechte
hat. Man kann allerdings ssh die Authentifizierung machen lassen und die
Authorisierung über das Dateisystem regeln.

J.
-- 
I count my partner's eyelashes.
[Agree]   [Disagree]
                 <http://www.slowlydownward.com/NODATA/data_enter2.html>

Attachment: signature.asc
Description: Digital signature


Reply to: