Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在svn\u access\u文件中使用LDAP组设置Subversion repo_Svn_Httpd.conf - Fatal编程技术网

在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中的
    CN=cabal
    发生更改时,您可以找到并使用LDAP来验证同步脚本(这里提到过,等等),以更新
    @cabal
诡计

  • 您可以使用已更改的
    Require ldap group
    指令添加其他
    ,并在ldap中完全维护组

我有一个与你的问题非常相似的问题,应该可以完全回答:

@ZTE_OHSAS_administrators = rw
~@ZTE_OHSAS_administrators =
这个应该管用


“干杯

我没有发现任何当前用于将SVN authz与LDAP同步的项目能够令人满意地工作,因此我创建了一个新项目

可在以下位置获取:


是的,我知道这是一个老帖子。但是搜索解决方案的用户可能会在这里结束。

我知道我可以将LDAP写入Authz syncscript,但我希望有一些httpd配置可以处理这个问题。不过,这个棘手的方法很有趣。关于同步脚本的一些信息:通常你应该在这里包含相关代码,而不是链接到回购协议。