1

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?

4 Answers 4

1

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

[subversion_repos]/[repo]/svnserve.conf

(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.

3
  • 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, 2010 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.) Sep 3, 2010 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. Sep 3, 2010 at 17:16
0

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.

2
  • sorry stupid question, but how do I know whether I am using the bundled svnserv daemon?
    – BeeBand
    Sep 6, 2010 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, 2010 at 18:25
0

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.

0

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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .