【发布时间】:2013-11-12 21:42:53
【问题描述】:
这里是 Sun 目录服务器。我可以很容易地在过滤器中为绝对是字符串的字段使用星号,例如,获取所有以某个字母开头的 uid 列表。但是,我不能使用相同的语法来获取例如以某个数字开头的所有 uidNumber。
以下是我获得的各种命令输出的一些描述。
返回所有以字母 b 开头的 uid:
ldapsearch -D "cn=Directory Manager" -h server -b "ou=people,dc=test,dc=com" "uid=b*" "uid"
不返回值:
ldapsearch -D "cn=Directory Manager" -h server -b "ou=people,dc=test,dc=com" "uidNumber=446*" "uidNumber"
但是,这将在 uidNumber 的任何位置返回 446 的任何内容:
ldapsearch -D "cn=Directory Manager" -h server -b "ou=people,dc=test,dc=com" "uidNumber=*446*" "uidNumber"
我正在寻找任何 START 以 446 开头的 uidNumbers。通过上面,它给了我以 446 开头的那些,但它也给了我像“3446”这样的那些。
我一定忽略了一些小细节,因为这看起来不应该那么复杂。
【问题讨论】:
-
在我的服务器中,
uidnumber没有子字符串匹配规则。最后两个示例使用子字符串过滤器,因此它们不起作用。
标签: string search ldap comparison ldap-query