使用Linux对AD组进行Subversion?

时间:2008-11-27 10:19:24

标签: linux svn ubuntu active-directory ldap

我尝试将Windows SVN服务器迁移到Linux 我已将Apache配置为针对Useraccess验证AD,因此只有AD用户才能登录 现在我必须使用authz文件设置存储库的权限 当我使用AD用户名设置权限时,它可以正常工作,但AD组却没有。

authz文件如下所示:

[test:/]
user1=rw   #That works

[test2:/]
@usergroup=rw  #No access for the groupmembers

当我在authz文件中创建组并为AD用户设置时,该内部组工作正常,但我无法管理2个位置的组,只是每天都进行了很多更改。

有没有人知道如何在authz文件中使用AD组?

2 个答案:

答案 0 :(得分:4)

你可以使用sync_ldap_groups_to_svn_authz.py 在authz文件中获取AD组。你可以在bitbucket上获得它。

https://bitbucket.org/whitlockjc/jw-tools/src/e3396390e99bfbc566a4e8423a123abb4c00d655/sync_ldap_groups_to_svn_authz?at=default

使用示例:

    python ./sync_ldap_groups_to_svn_authz.py \
-d "CN=access-TO-AD-user,OU=Users,OU=SiteName,OU=Europe,OU=St,DC=domainname,DC=com" \
  -l "ldap://adserver.domainname.com:389" \ 
-b "OU=Groups,OU=SiiteName,OU=Europe,OU=St,DC=domainname,DC=com" \
-u "objectClass=person"  -g "(&(objectClass=group)(cn=UniqueStringBeforSVN*))" \ 
-i "sAMAccountName" > ldaptest.txt

" \"是标志我的线条刹车,因为它更容易阅读这样的例子,请你把它写在一条线上!

答案 1 :(得分:2)

您无法在authz文件中自动使用AD组。

可能的解决方案是编写一个脚本,为组及其成员用户查询AD,并写入正确的authz文件,同时定义组本身。

最终的输出结果如下:

[groups]
usergroup = user1, user2, user3

[test:/]
user1 = rw

[test2:/]
usergroup = rw