2008-11-27 4 views
1

Я пытаюсь перенести Windows SVN Server в Linux.
Я настроил Apache для проверки против AD для Useraccess, поэтому только пользователи AD могут войти в систему.
Теперь мне нужно установить разрешения для репозиториев с файлами authz.
Когда я установил разрешение с именем пользователя AD, он работает, но группы AD это не так.Subversion с группами AD с Linux?

Файл AuthZ выглядит следующим образом:

[test:/] 
user1=rw #That works 

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

Когда я создаю группы внутри файла AuthZ и Asign пользователей AD, что внутренняя группа работает нормально, но я не могу управлять группами в 2-х местах, там просто к большим изменениям, сделанным каждый день.

У кого-нибудь есть идея, как использовать группы AD внутри файлов authz?

ответ

2

Вы не можете автоматически использовать группы AD внутри файлов authz.

Возможное решение может заключаться в написании сценария, который запрашивает AD для групп и их пользователей-членов и записывает правильный файл authz, определяя также сами группы.

Конечный результат shuold быть что-то вроде:

[groups] 
usergroup = user1, user2, user3 

[test:/] 
user1 = rw 

[test2:/] 
usergroup = rw 
4

Вы culd использовать sync_ldap_groups_to_svn_authz.py получить группы AD в файле AuthZ. Вы можете получить его в битбакете.

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 

«\» является метки мой linebrake, потому что легче читать пример как это сделать, пожалуйста, Shure писать все это в одной строке!