ldapsearch - 仅当 value 具有这两个属性时才返回

问题描述

我像这样使用 ldapsearch:

ldapsearch -Y GSSAPI ... '(&(objectClass=person)(employeeID=1*))' employeeID mail

本质上我想返回员工 ID 和邮件地址,但前提是员工同时拥有两者。例如,如果某人只有一个员工 ID 而没有邮件,则不应将他们包含在结果集中。在上面的命令中,它们仍然被返回。如何限制它以便必须满足两个请求的属性

解决方法

在过滤器中使用通配符 -- mail=* 表示邮件具有任何值的记录。您示例中的特定过滤器经过修改以返回设置了 mail 和 employeeID 属性的记录为:

(&(objectClass=person)(employeeID=1*)(mail=*)(employeeID=*))