Ein häufiges Problem aber eigentlich trivial zu lösen: man hat sich via Shell ein neues SVN Repository angelegt welches im Shell-Betrieb auch zuverlässig funktioniert. Konfiguriert man nun seinen Webserver um via WebDAV auf das Repository zugreifen zu können, funktioniert meist zwar der Lesezugriff (z.B. ein Checkout oder Update) aber ein Schreibzugriff schlägt mit einem “permission denied” fehl.

Die Ursache liegt darin, dass der lokale User zwar entsprechende Zugriffsberechtigungen besitzt aber nicht der Funktionsbenutzer (z.B. unter Debian Linux www-data) des Webservers. Dies kann mit zwei Befehlen korrigiert werden - chown um den Besitzer zu ändern und chmod um die Zugriffsrechte entsprechend anzupassen.

Angenommen das Repository liegt in /var/svn und der Zugriff soll nur über den Webserver erfolgen:

chown -R www-data:www-data /var/svn/* 
chmod -R 770 /var/svn/*

Es werden hier alle Repo’s entsprechend konfiguriert, gegebenenfalls sollte man es gezielt für nur einzelne Repos ausführen bzw. bei notwendigem lokalen Zugriff die Kombination User/Gruppe entsprechend adaptieren oder überhaupt eine eigene SVN-Gruppe einführen, in der sowohl der lokale Benutzer als auch der Funktionsbenutzer Mitglied ist.

Hinweis: dieser Artikel ist ursprünglich auf dem IT-Blog “copy/paste” (www.copypaste.at) erschienen.