找不到相同的问题,但我认为这是常见问题。我有 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)...)
为( Operator
AND &
),|
(OR) 和!
(NOT)。