Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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've inherited an debian svn server, and I guess have now been assigned the task of svn administration. The problem is that I now need to add a new user, I googled to no avail.

Can anyone point me in the right direction?

share|improve this question

It depends on your config.. Have a look at the file at


(on my server the repositories are at /var/local/subversion)

svnserve.conf specifies how SVN should authenticate users.
For example, if it uses the password-db directive, your users will be inside the file it points to.

share|improve this answer
I have a number of repos, and in each of the svnserve.conf is the line password-db = passwd. However, inside the passwd file are just the example users harry and sally. None of the real users are listed. – BeeBand Sep 3 '10 at 16:39
That only has an effect if you're using svnserve to serve files... if you're doing something weird like using rsync or pure SSH (not SVN+SSH), then it wholly depends on which user the subversion client logs in as (if it's a single user for every machine in the department, then you'd want to see if everyone's SSH .pub key is in ~/.ssh/authorized_keys. Otherwise, if they login as themselves, make sure each user on the SVN server can actually login/transfer stuff over SSH/rsync without Subversion.) – Christian Paredes Sep 3 '10 at 17:15
Point being, if you're not using svnserve, then you're likely looking at plain UNIX stuff for authentication, like /etc/passwd, /etc/ssh/sshd_config, ~/.ssh/authorized_keys, etc. etc. – Christian Paredes Sep 3 '10 at 17:16

A subversion repository can be served in several ways; if you are using the bundled svnserve daemon, then Joril's answer is correct.

If you are using the apache module mod_dav_svn, then you need to look in your Apache configuration and determine what does Apache use as its user authentication base.

I don't have a Debian server to check here, but my Ubuntu uses /etc/apache2 as the standard apache configuration path.

share|improve this answer
sorry stupid question, but how do I know whether I am using the bundled svnserv daemon? – BeeBand Sep 6 '10 at 9:34
Do you know the URL for the repository that users are using ? If it starts with svn:// then it's svnserve. If it's http:// or https:// then it's apache. If it's something else, please post it and we'll do some more research. :) – Urgoll Sep 6 '10 at 18:25

If your SVN is being served through apache you can use these steps to quickly find out the right files to modify/update.

cd /etc/apache2
grep -r AuthUserFile *

This should get you the filename of the htpasswd file apache is using to authenticate access to the SVN server.

Then you can add a new user like this:

htpasswd filename newuser

If the grep line comes back with several matches you will have to inspect the apache configuration manually to determine the right one for your repository. Search for the AuthzSVNAccessFile too - you may have to give this new user explicit permission to access the right paths, depending on your configuration. This one is a "ini" format file, easy to modify, but post it if you do have it and you have doubts regarding the syntax.

share|improve this answer

If your users are connecting through a windows client like TortoiseSVN, then they are likely using ssh to connect.

You will need need to create a user with ssh access on the server. There was likely a group created with access to the svn repository directory. Grant the user membership to the group or create one. The user needs read and write access to the repository in order to check in and out files.

share|improve this answer

Your Answer


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

Not the answer you're looking for? Browse other questions tagged or ask your own question.