我是否应该为 Ubuntu 服务器上的每个程序员提供一个 SVN 用户?
这是通过对 4 位程序员使用 4 次“htpasswd”来实现的吗?
我如何将所有这些用户归到同一个组,以便我可以修改 SVN 组及其所有成员的特定文件访问权限?
答案1
是的,你应该给所有提交者提供单独的凭证。每个开发人员都应该有自己的帐户,这样更改就可以追踪到特定的人。随着时间的推移,您将准确了解谁最了解代码的某些部分。作为奖励,当一个人离开小组时,您不必更改密码(让我们假装您暂时会这样做)。
配置有两个部分:身份验证和授权。验证是确定身份的过程。您可以使用 htpasswd 来执行此操作,但如果可能,最好集成您现有的密码系统。外部身份验证很可能可以为您做到这一点。
另一部分是授权; 确定谁可以访问什么。最简单的方法是使用SVN 授权和基于路径的授权定义一个组。
例如,你的 authz 文件可能如下所示:
[groups]
developers = alice, bob, carla, trudy
[repo1:/]
developers = rw
[repo2:/]
alice = rw
developers = r
答案2
是的。每个开发人员都应该有自己的 Apache 用户名。请注意,他们不需要 Ubuntu 服务器上的 Unix 用户。只需通过 htpasswd 创建不同的用户即可。如果他们都在同一个 htpasswd 文件中,他们将能够访问 svn 存储库。
对于更复杂的权限管理,请查看SVN Authz 文件。
答案3
您还可以使用以下项目Subversion 管理员为您管理所有访问文件。它还允许您轻松设置提交后电子邮件通知。以及将您的服务器连接到 ldap 或 active directory 系统。