ldapsearch无法显示自定义字段的结果

为什么这个ldapsearch命令什么都不显示:

/usr/bin/ldapsearch -x -LLL -h ldapmaster.corpintra.net -b ou=people,ou=Mars,ou=Eng,dc=corpintra,dc=net '(ifxAccStatus=unlocked)' uid ifxAccStatus

下面的命令返回一堆结果,显示我有人的字段ifxAccStatus=unlockedifxAccStatus=locked

/usr/bin/ldapsearch -x -LLL -h ldapmaster.corpintra.net -b ou=people,ou=Mars,ou=Eng,dc=corpintra,dc=net '(ifxAccStatus=*)' uid ifxAccStatus

如何才能列出用户与ifxAccStatus =解锁?

谢谢,奥兹

您可能有一个不完整的模式定义 – 只是定义属性SYNTAX (例如directoryStringIA5String OID)是不够的,这不会定义任何隐式匹配规则 (比较操作)。 您需要使用EQUALITY和(如果适用) SUBSTR明确地执行此操作,例如:

 attributetype ( 1.3.6.1.4.1.xxxxx.1.2.3 NAME 'ifxAccStatus' DESC 'account lock status' SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE EQUALITY caseIgnoreIA5Match SUBSTR caseIgnoreIA5SubstringsMatch USAGE userApplications ) 

同样,不会有隐式的sorting规则 ,如果需要sorting结果(例如caseIgnoreOrderingMatch ),也需要指定这个规则 ,尽pipe这通常不会像丢失相等和子串操作一样造成太多的问题。