Beschränkung des Zugriffs auf SVN-Ordner für bestimmte Benutzer

2406
Jack Murphy

Ich habe die Datei erstellt svn.passwordund einige Benutzer hinzugefügt.

Jetzt habe ich ein Subversion- Repository und eine Trac- Instanz in meinem Apache-Ordner installiert und vhost.confwie folgt eingerichtet:

<Location /svn> DAV svn SVNParentPath /var/www/vhosts/xyz.com/svn/ AuthType Basic AuthName "SVN" AuthUserFile /var/www/vhosts/xyz.com/svn.password Require valid-user </Location> <Location /trac/> SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/www/vhosts/xyz.com/trac/ PythonOption TracUriRoot /trac/ </Location> <Location /trac/login> 

Alles läuft reibungslos und ich kann mit jedem der von mir hinzugefügten Benutzer auf http://www.xyz.com/svn/repository und http://www.xyz.com/trac/ zugreifen .

Jetzt ist mein Problem. Ich möchte jetzt den Zugriff auf bestimmte Ordner in meinem Repository für bestimmte Benutzer einschränken. Ich möchte ein Repository für Trac, aber bestimmte Entwickler arbeiten nur für bestimmte Projekte. Im Grunde gibt es also einen xyz_server-Ordner und einen xyz_client-Ordner in meinem ./svn/repository/.

Ich ändere jetzt /var/www/vhosts/xyz.com/svn/repository/conf/authz und stelle Folgendes ein:

[/repository/xyz_server] * = test = rw ihaveaccess = rw  [/repository/xyz_client] ihaveaccess = rw 

Ich würde jetzt davon ausgehen, dass es nicht funktionieren würde, wenn ich versuche, http://www.xyz.com/svn/repository/xyz_client/mit dem Benutzer zuzugreifen test. Nur wenn ich auf den Zugriff zugreifen wollte, http://www.xyz.com/svn/repository/xyz_server/hätte ich Lese- und Schreibrechte.

Ich habe jedoch vollen Zugriff auf die SVN-Ordner.

Was mache ich falsch?

0

2 Antworten auf die Frage

0
Walid

Beginnen Sie in Ihrer Apache-Konfiguration, indem Sie das mod_authz_svnModul aktivieren

LoadModule authz_svn_module modules / mod_authz_svn.so

Dann <Location /svn>verwenden Sie die AuthzSVNAccessFileDirektive

AuthzSVNAccessFile /var/www/vhosts/xyz.com/svn/repository/conf/authz

Ich habe es jetzt getan, meine vhosts.conf hat die Zeilen hinzugefügt, authz_svn_module war bereits standardmäßig geladen. Allerdings hat jetzt kein Benutzer mehr Zugriff, ich bekomme einen 403 Forbidden für alle Benutzer. DAV svn SVNParentPath /var/www/vhosts/xyz.com/svn/ AuthType Basic AuthName "SVN" AuthUserFile /var/www/vhosts/xyz.com/svn.password AuthzSVNAccessFile /var/www/vzosts/xyz.com/svn / repository / conf / authz Gültiger Benutzer erforderlich Jack Murphy vor 10 Jahren 0
0
Joerg

Ich hatte ähnliche Probleme, aber letztendlich lag das Problem nicht bei den Authentifizierungseinstellungen auf dem SVN-Server, sondern bei meinem SVN-Client "Tortoise", der Authentifizierungsdaten im Cache gespeichert hatte. Selbst wenn ich mich im Beispiel des OP als Benutzer "test" über Tortoise angemeldet habe, würde es die Zugriffsregeln für den zuvor angemeldeten Benutzer "ihaveaccess" verwenden. Das Löschen der Authentifizierungsdaten unter "TortoiseSVN -> Einstellungen -> SavedData" hat für mich funktioniert.