我们想开始两个新的开发项目:Project1
和Project2
。我们有两组开发人员:
GroupA
应具有对两个项目的完整(读取+写入)访问权限,并且GroupB
无法访问Project1
,但无权访问Project2
。 我关注Jeff Atwood's tutorial并在Windows Server 2003上成功安装subversion 1.7.6作为Windows服务。我通过添加文件夹和文件来测试系统,并提交更改,一切正常(客户端是TortoiseSVN 1.7.9)。
不幸的是,我无法弄清楚如何在authz
中配置开发者组的访问权限。开发人员可以连接到服务器,但在尝试提交时会收到Authorization failed
个消息。
提前感谢您的帮助。
答案 0 :(得分:4)
我建议你阅读SVNBook (Version Control with Subversion)。请参阅描述the path-based authorization的章节。我认为这一章回答了你的问题。
下面提供了示例authz
文件。请注意,我没有在/repo/Project1
存储库目录中为 GroupB 明确设置'无访问权限'规则。我将'无权访问'设置为'everyone'的根节点,然后此权限将由其子项继承,除非您明确提供对文件夹或文件的访问权限。
[/]
*=
[groups]
GroupA=john,sally
GroupB=harry,george
[repo:/Project1]
@GroupA=rw
[repo:/Project2]
@GroupA=rw
@GroupB=rw
我想请注意,如果您使用VisualSVN Server Manager,则可以大大简化管理SVN用户权限的过程。
它提供了一个舒适的UI来管理用户权限,您可以找到它们非常有用:
要管理在VisualSVN Server上托管的SVN存储库的访问规则,您现在可以使用随VisualSVN Server打包的PowerShell cmdlet。从版本3.4开始,VisualSVN Server包含PowerShell模块,可以帮助您完成此任务。您正在寻找的cmdlet是
阅读文章KB88: VisualSVN Server PowerShell Cmdlet Reference以获取VisualSVN Server PowerShell cmdlet的完整列表。