web-dev-qa-db-ja.com

認証にLDAPグループを使用するようにSubversionEdgeを構成するにはどうすればよいですか?

Subversion Edgeの「リポジトリアクセスルール」でLDAPグループを利用したい。

たとえば、LDAPユーザーsmokrisがLDAPグループdevのメンバーである場合、devグループにtest-repositoryへのアクセスを許可できるようにしたいと思います。グループdevの各メンバーをリポジトリアクセスルールに明示的に追加する必要はありません。

その構文は何ですか?

私は試した:

[test-repository:/]
dev=rw

[/]
*=

...しかし、ユーザーsmokrisはアクセスを拒否されます。

5
smokris

ダウンロード https://bitbucket.org/whitlockjc/jw-tools

次のような実行可能スクリプトを作成します(ディレクトリとLDAP構成を置き換えます)。

#!/bin/bash

CSVN_DIR=/home/csvn
JW_TOOLS_DIR=/home/csvn/jw-tools

# truncate the access file after the generated-content tag
Perl -0777 -pe 's/\n\n\n### Start generated content.*//s' \
    < $CSVN_DIR/data/conf/svn_access_file \
    > $CSVN_DIR/data/conf/svn_access_file.tmp

# append the latest LDAP group configuration
$JW_TOOLS_DIR/sync_ldap_groups_to_svn_authz/sync_ldap_groups_to_svn_authz.py \
    --url="..." \
    --bind-dn="..." --bind-password="..." \
    --base-dn="..." \
    --group-query="objectClass=posixGroup" \
    --group-member-attribute="memberUid" \
    --user-query="objectClass=posixAccount" \
    --userid_attribute="uid" \
    --quiet \
    | grep -v '^\[groups\]' \
    >> $CSVN_DIR/data/conf/svn_access_file.tmp

mv -f $CSVN_DIR/data/conf/svn_access_file.tmp $CSVN_DIR/data/conf/svn_access_file

Cronから定期的にスクリプトを実行します。

0 * * * * ~/update-ldap-groups
1
smokris