在svn\u access\u文件中使用LDAP组设置Subversion repo
如果我是从头开始做这件事,我会把这两个库分开。不幸的是,我不得不将就一下 我们的存储库如下所示:在svn\u access\u文件中使用LDAP组设置Subversion repo,svn,httpd.conf,Svn,Httpd.conf,如果我是从头开始做这件事,我会把这两个库分开。不幸的是,我不得不将就一下 我们的存储库如下所示: /trunk /tags /branches /secret/trunk /secret/tags /secret/branches <Location /gorp> DAV svn SVNPath /mnt/svn/repositories/gorp AuthType basic AuthName "Vegicorp Repostitory"
/trunk
/tags
/branches
/secret/trunk
/secret/tags
/secret/branches
<Location /gorp>
DAV svn
SVNPath /mnt/svn/repositories/gorp
AuthType basic
AuthName "Vegicorp Repostitory"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPUrl "ldap://ldap.vegicorp.net:389/DC=vegicorp,DC=NET?sAMAccountName" NONE
AuthLDAPBindDN "CN=ldap-read,,OU=Users,OU=vegicorp,DC=vegicorp,DC=net"
AuthLDAPBindPassword swordfish
Require ldap-group CN=Development,OU=Groups,OU=vegicorp,DC=vegicorp,DC=net
AuthzSVNAccessFile /opt/CollabNet_Subversion/repos_path_access/gorp
</Location>
[/]
* = r
[/trunk]
* = rw
[/branches]
* = rw
[/tags]
* = rw
[/secret]
dvadar = rw
cpalpatine = rw
glucas = rw
* =
我的SVN配置设置如下:
/trunk
/tags
/branches
/secret/trunk
/secret/tags
/secret/branches
<Location /gorp>
DAV svn
SVNPath /mnt/svn/repositories/gorp
AuthType basic
AuthName "Vegicorp Repostitory"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPUrl "ldap://ldap.vegicorp.net:389/DC=vegicorp,DC=NET?sAMAccountName" NONE
AuthLDAPBindDN "CN=ldap-read,,OU=Users,OU=vegicorp,DC=vegicorp,DC=net"
AuthLDAPBindPassword swordfish
Require ldap-group CN=Development,OU=Groups,OU=vegicorp,DC=vegicorp,DC=net
AuthzSVNAccessFile /opt/CollabNet_Subversion/repos_path_access/gorp
</Location>
[/]
* = r
[/trunk]
* = rw
[/branches]
* = rw
[/tags]
* = rw
[/secret]
dvadar = rw
cpalpatine = rw
glucas = rw
* =
到目前为止,一切顺利。我的cabal
组用户、dvadar
、cpalpatine
和glucas
可以访问我存储库中的/secret
目录,其他人甚至都看不到它。然而,随着人们的来来往往,我不得不手动更改这个基于路径的访问文件。我想做的是让我基于路径的访问权限为cabal
中的每个人提供访问权限,并为其他所有人隐藏它:
[/]
* = r
[/trunk]
* = rw
[/branches]
* = rw
[/tags]
* = rw
[/secret]
@cabal = rw
* =
这是行不通的。相反,我在日志中看到:
Tue Sep 03 11:30:50 2013] [error] [client 10.55.9.217] \
Failed to load the AuthzSVNAccessFile: An authz rule refers to group '@cabal'
让我的cabal
团队访问secret
而不让我的其他开发人员看到此目录的最佳方式是什么?显而易见的方式:
在authzsvnacessfile中定义阴谋集团成员
- 您可以手工操作(每次更改成员时编辑成员)
- 当LDAP中的
发生更改时,您可以找到并使用LDAP来验证同步脚本(这里提到过,等等),以更新CN=cabal
@cabal
- 您可以使用已更改的
指令添加其他Require ldap group
,并在ldap中完全维护组
@ZTE_OHSAS_administrators = rw
~@ZTE_OHSAS_administrators =
这个应该管用
“干杯 我没有发现任何当前用于将SVN authz与LDAP同步的项目能够令人满意地工作,因此我创建了一个新项目 可在以下位置获取:
是的,我知道这是一个老帖子。但是搜索解决方案的用户可能会在这里结束。我知道我可以将LDAP写入Authz syncscript,但我希望有一些httpd配置可以处理这个问题。不过,这个棘手的方法很有趣。关于同步脚本的一些信息:通常你应该在这里包含相关代码,而不是链接到回购协议。