我应该为Ubuntu服务器上的每个程序员有一个SVN用户吗?
这是4个程序员使用“htpasswd”4次完成的吗?
如何将所有这些用户连接到同一组,以便我可以修改特定于SVN组及其所有成员的文件访问权限?
是的,你应该给所有提交者个人凭据。 每个开发者都应该拥有自己的账户,以便更改可以追溯到特定的人员 。 随着时间的推移,您可以准确了解谁最了解部分代码。 作为奖励,当一个人离开组时,你不必改变密码(让我们暂时假装你真的这样做)。
有两部分configuration这两个部分; 身份validation和授权。 authentication是确定身份的过程。 您可以使用htpasswd来做到这一点,但如果可能的话,最好集成现有的密码系统。 mod-auth-external可能会为你做这个。
另一部分是授权 ; 确定谁可以访问什么。 最简单的方法是使用SVN Authz和基于path的授权来定义一个组。
例如,您的authz文件可能如下所示:
[groups] developers = alice, bob, carla, trudy [repo1:/] developers = rw [repo2:/] alice = rw developers = r
是。 每个开发者都应该有自己的Apache用户名。 请注意,它们在Ubuntu服务器上不需要Unix用户。 只是通过htpasswd创build一个不同的用户。 如果他们都在同一个htpasswd文件,他们将能够访问svn回购。
对于更复杂的权限pipe理,请查看SVN Authz文件 。
您也可以使用Subversion Admin等项目来pipe理所有的访问文件。 它还允许您轻松设置提交后的电子邮件通知。 以及将您的服务器连接到ldap或活动目录系统。