Subversion Edgeの「リポジトリアクセスルール」でLDAPグループを利用したい。
たとえば、LDAPユーザーsmokris
がLDAPグループdev
のメンバーである場合、dev
グループにtest-repository
へのアクセスを許可できるようにしたいと思います。グループdev
の各メンバーをリポジトリアクセスルールに明示的に追加する必要はありません。
その構文は何ですか?
私は試した:
[test-repository:/]
dev=rw
[/]
*=
...しかし、ユーザー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