web-dev-qa-db-ja.com

LDAP複数値属性フィルター

同じ質問は見つかりませんが、定期的な問題だと思います。 LDAPユーザーがいます:

dn: uid=alise,ou=peoples,dc=acme,dc=com
objectClass: inetOrgPerson
objectClass: top
cn: alise
sn: alise
uid: alise
userPassword: {SCHEME}password
mail: [email protected]
mail: [email protected]
mailAlias: [email protected]
mailAlias: [email protected]

メール属性を返す必要がありますが、ドメインでフィルタリングされています。たとえば、私が検索した場合:

ldapsearch -xLLL -b ou=peoples,dc=withsound,dc=ru '([email protected])' mail

私は得ます:

dn: uid=alise,ou=peoples,dc=acme,dc=com
mail: [email protected]
mail: [email protected]

しかし、私は次のようなものが必要です:

ldapsearch -xLLL -b ou=peoples,dc=withsound,dc=ru '([email protected])' mail=*domain1.tld


dn: uid=alise,ou=peoples,dc=acme,dc=com
mail: [email protected]

単純に使用することはできませんgrep domain1.tld原因PostfixでLDAP検索を使用している

私は本当にユーザーを分離して1つの電子メールフィールドだけを作りたくありません...

1
Anatoly

このような検索語は役立つはずです。

(&([email protected])(mail=*domain1.tld))

LDAP検索用語は次のように組み合わされます。

(Operator(filter)(filter)(filter)...)

Operator&(AND)、| (または !(NOT)。

2
Sven