Wie beschränke ich den Repository-Zugriff über WebSVN?

Hinweis: ich ursprünglich gebeten, diese Frage auf serverfault.com aber habe nur eine Antwort, so weit, und je mehr ich darüber nachdenke, desto mehr erkenne ich, dass es wohl besser ist auf stackoverflow.

Habe ich mehrere subversion-Projektarchive, die serviert werden, bis Apache 2.2 und WebDAV. Sie befinden sich alle in einem zentralen Ort, und habe das debian-administration.org Artikel als Grundlage (ich ließ die Verwendung der Datenbank-Authentifizierung für eine einfache htpasswd-Datei).

Seitdem habe ich auch begonnen, mit WebSVN. Mein Problem ist, dass nicht alle Benutzer auf dem system sollte in der Lage sein, um Zugriff auf die verschiedenen repositories, und die Standard-Installation von WebSVN ist es, wer sich authentifizieren können.

Nach dem WebSVN-Dokumentation, der beste Weg, um dieses ist die Verwendung von subversion, die Pfad-access-system, so sah ich zu erzeugen, wird mit der Direktive AuthzSVNAccessFile.

Wenn ich das Tue, obwohl ich immer "403 Forbidden" - Meldungen.

Meine Dateien sehen wie folgt aus:

Habe ich default-policy-Einstellungen in einer Datei:

<Location /svn/>
  DAV svn
  SVNParentPath  /var/lib/svn/repository

  Order deny,allow
  Deny from all
</Location>

Jedes repository wird eine policy-Datei wie folgt:

<Location /svn/sysadmin/>
    Include  /var/lib/svn/conf/default_auth.conf
    AuthName "Repository for sysadmin"
    require user joebloggs jimsmith mickmurphy
</Location>

Den default_auth.conf-Datei enthält:

SVNParentPath      /var/lib/svn/repository
AuthType           basic
AuthUserFile       /var/lib/svn/conf/.dav_svn.passwd
AuthzSVNAccessFile /var/lib/svn/conf/svnaccess.conf

Bin ich nicht ganz sicher, warum muss ich die zweite SVNParentPath in default_auth.conf, aber ich hab nur Hinzugefügt, dass heute, da war ich immer Fehlermeldungen als Ergebnis der addition der Direktive AuthzSVNAccessFile.

Mit einem Total tabulosen access-Datei

[/]
joebloggs = rw

das system funktionierte gut (und wurde im wesentlichen unverändert), aber da ich sobald ich starten versucht, jede Art von Einschränkungen wie

[sysadmin:/]
joebloggs = rw

anstelle, bekomme ich die "Berechtigung verweigert" - Fehler wieder. Die Einträge in der Protokolldatei sind:

[Thu May 28 10:40:17 2009] [error] [client 89.100.219.180] Access denied: 'joebloggs' GET websvn:/
[Thu May 28 10:40:20 2009] [error] [client 89.100.219.180] Access denied: 'joebloggs' GET svn:/sysadmin

Was muss ich tun, um diese zu arbeiten? Apache konfiguriert haben, falsch, oder ist mein Verständnis von der svnaccess.conf-Datei falsch?

Wenn ich dabei bin, über das der falsche Weg, ich habe keine Besondere Anlage zu meinem Gesamtkonzept, so fühlen sich frei, um alternativen anzubieten als auch.

UPDATE (20090528-1600):

Habe ich versucht zu implementieren diese Antwort, aber ich kann immer noch nicht bekommen, es richtig zu arbeiten.

Ich weiß, die meisten von der Konfiguration ist korrekt, denn ich habe

[/]
joebloggs = rw

am start und 'joebloggs' hat dann alle den richtigen Zugang.

Wenn ich versuche zu gehen repository-spezifisch, obwohl, etwas zu tun, wie

[/]
joebloggs = rw

[sysadmin:/]
mickmurphy = rw

dann bekam ich einen permission denied-Fehler, für mickmurphy (joebloggs funktioniert noch), mit einem Fehler ähnlich dem, was ich bereits zuvor

[Thu May 28 10:40:20 2009] [error] [client 89.100.219.180] Access denied: 'mickmurphy' GET svn:/sysadmin

Außerdem, ich vergaß zu erklären bereits, dass alle meine repositories sind unter

/var/lib/svn/repository

UPDATE (20090529-1245):

Immer noch kein Glück bekommen dies funktioniert, aber alle Zeichen scheinen zu zeigen, um das Problem mit Pfad-access-control in subversion funktioniert nicht richtig. Meine Vermutung ist, dass ich nicht im apache konfiguriert oder svn richtig zu erkennen meine repository-Struktur.

Dies ist, weil die '[ /] ' - Eintrag scheint zu funktionieren perfekt.

Tritt es auch mir, dass diese Frage gehört wohl besser auf StackOverflow?

InformationsquelleAutor kaybenleroll | 2009-06-02

Schreibe einen Kommentar