アプリケーションが LDAP を使用できるようにします。
アプリケーションの設定では、LDAP に接続するための URL を通知する必要があります。現在、次の URL を提供しています...
ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid
質問:アプリケーション アクセスをこのグループに属するユーザーのみに制限するには、上記の URL にフィルターを追加して、「accessgroup」グループに属するユーザーのみが表示されるようにする必要があります。
つまり、これに似たもの...
curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=%s))"
何百もの設定を試しましたが、何も機能しません... =|
グループ
cn:
accessgroup
gidNumber:
1004
memberUid:
usera
userb
userc
userd
usere
userf
userg
userh
useri
objectClass:
top
posixGroup
ユーザー
cn:
User Letter A
gecos:
User Letter A
gender:
M
gidNumber:
544
givenName:
User
gotoLastSystemLogin:
01.01.1970 00:00:00
homeDirectory:
/home/usera
loginShell:
/bin/bash
mail:
[email protected]
objectClass:
top
person
organizationalPerson
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount
[...]
uid:
usera
uidNumber:
1004
[...]
ありがとう!=D
答え1
LDAP サーバーの memberOf 属性はどのように作成されますか? ユーザーが実際に memberOf 属性を持っていることを確認しましたか?
たとえば、OpenLDAP では、memberOf は、memberof オーバーレイを使用する場合、または動的リストを使用して管理する場合にのみ設定されます。
答え2
状況:
問題は、POSIXグループを使用してフィルタリングしようとしているのに、そのための特定のオーバーレイがないことです。存在するのは、ここで確認できるやや複雑で面倒な回避策です。POSIXGROUPS の MEMBEROF 属性の生成。
解決:
この問題を解決するために、ここで確認できる簡単なソリューションを実装しました...
psx-grp-flt - pgMemberOf (memberOf) に対するユーザーの posixGroup メンバーシップ
...基本的には次のようになります...
各ユーザーの posixGroup (POSIX グループ) の関連付けを pgMemberOf (memberOf) 属性に保存するシンプルな Python 2.7 スクリプト。目的は、以下のような検索フィルターを有効にすることです...
モデル
ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=persons,dc=domain,dc=abc,dc=de'
-D 'cn=admin,dc=domain,dc=abc,dc=de'
-w 'mySecretValue'
'(&(pgMemberOf=cn=certaingroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=certainuid))'例
ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D '<ADM_USER_DN>'
-w '<ADM_USER_PASSWORD>'
'(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU>,<BASE_DN)(uid=<PERSON_UID>))'このスクリプトは、OpenLDAP がすでにインストールされていて、新しいタイプのグループを作成せずに、非常に簡単な方法で既存の POSIX グループにフィルターを使用できるようにする場合に役立ちます。また、オーバーレイをインストールできない場合や、このプロセスが面倒またはリスクが大きすぎる場合にも役立ちます。
ありがとう!=D