Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have an SVN server running on Ubuntu 9.04. Inside /var/svn, there are various projects - /var/svn/foo, /var/svn/bar, etc. I want to be able to give user "A" full SVN permissions for 'foo', but not 'bar', and vice versa - user "B" could have permissions to 'bar' but not necessarily 'foo'.

What is the best way to do this?

share|improve this question

From the documentation:

In the case of Apache, one needs to load the mod_authz_svn module and then add the AuthzSVNAccessFile directive (within the httpd.conf file) pointing to your own rules file. If you're using svnserve, you need to make the authz-db variable (within svnserve.conf) point to your rules file.

The file svnserve.conf is inside each repo directory, while AuthzSVNAccessFile

specifies a file containing the permissions policy for paths within your repositories

(always from he documentation)

share|improve this answer
This is pretty much the exact configuration setup I'm using to give instructors read rights and students read/write on their own repos, and prevent students reading other repos. You can address specific repositories with a colon. – jldugger Mar 22 '10 at 18:22

i suggest you do not allow your users direct file-level manipulation on your repository via svn command line tool or by svnserver. set up apache and use http[s] to access the repository - in such setup you can get granular access control. give read/write access to your repository just to user under which apache runs [www-data] and deny it to anyone else [ including local users ].

read here or here.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.