SVN Permissions

The best SVN guide out there if your using multiple users over SSH ( svn+ssh ).

Taken from http://svnbook.red-bean.com/en/1.0/ch06s05.html

The svn+ssh:// server checklist

It can be quite tricky to get a bunch of users with existing SSH accounts to share a repository without permissions problems. If you’re confused about all the things that you (as an administrator) need to do on a Unix-like system, here’s a quick checklist that resummarizes some of things discussed in this section:

  • All of your SSH users need to be able to read and write to the repository. Put all the SSH users into a single group. Make the repository wholly owned by that group, and set the group permissions to read/write.
  • Your users need to use a sane umask when accessing the repository. Make sure that svnserve (/usr/local/bin/svnserve, or wherever it lives in $PATH) is actually a wrapper script which sets umask 002 and executes the real svnserve binary. Take similar measures when using svnlook and svnadmin. Either run them with a sane umask, or wrap them as described above.
  • When BerkeleyDB creates new logfiles, they need to be owned by the group as well, so make sure you run chmod g+s on the repository’s db directory.

About this entry