Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Should I have one SVN user for each programmer on the Ubuntu server?

Is this accomplished by using "htpasswd" 4 times for 4 programmers?

How do I couple all these users to same group so that I could modify file access specific for the SVN group and all its members?

share|improve this question

migrated from stackoverflow.com Mar 31 '10 at 1:56

This question came from our site for professional and enthusiast programmers.

    
Are you using Apache 2 with dav_svn? Also, this probably belongs on ServerFault. –  David Antaramian Mar 31 '10 at 1:53
    
You should ask the mods to merge your user accounts. –  Dennis Williamson Mar 31 '10 at 4:46
add comment

3 Answers

up vote 6 down vote accepted

Yes, you should be giving all committers individual credentials. Each developer should have their own account, so that changes can be traced to a specific person. Over time you'll get an accurate view of who best knows parts of code. As a bonus, when one person leaves the group, you don't have to change the password (lets pretend you would actually do that for the moment).

There's two parts two configuring this; Authentication and Authorization. Authentication is the process of determining identity. You can use htpasswd to do this, but it's better to integrate your existing password systems if possible. mod-auth-external can likely do this for you.

The other part is authorization; determining who is allowed to access what. The easiest way is to use SVN Authz and path based authorization to define a group.

For example, your authz file may look like:

[groups]
developers = alice, bob, carla, trudy

[repo1:/]
developers = rw

[repo2:/]
alice = rw
developers = r
share|improve this answer
    
Much more thorough answer than mine. I'll upvote tomorrow, I'm at my limit for today. –  Josh Mar 31 '10 at 13:34
add comment

Yes. Each developer should have their own Apache username. Note they do not need a Unix user on the Ubuntu server. Just a different user created via htpasswd. If they are all in the same htpasswd file, they will be able to access the svn repo.

For more complicated permission management, look into SVN Authz files.

share|improve this answer
add comment

You can also use a project such as Subversion Admin to manage all the access files for you. It also allows you to easily setup the post-commit email notifications. As well as connect your server into an ldap or active directory system.

share|improve this answer
add comment

Your Answer

 
discard

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.