LDAP 多值属性过滤器

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 域1.tld因为我在 Postfix 中使用 LDAP 搜索

我真的不想分开用户并只创建一个电子邮件字段......

答案1

像这样的搜索词应该会有所帮助:

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

LDAP 搜索词组合如下:

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

为( OperatorAND &),|(OR) 和!(NOT)。

相关内容