shell - 如何使用 LDAP 按字母顺序获取搜索结果
问题描述
这就是我所拥有的:
ldapsearch -x -LLL "(uid=z*)" cn | grep "^cn:" | sort -r --ignore-case | cut -c5-999
我如何按字母顺序得到这个结果?
解决方案
根据 LDAP 服务器及其配置,您可以尝试使用RFC 2891中定义的所谓服务器端排序控制。
请注意,并非所有 LDAP 服务器都支持或激活它。例如,OpenLDAP 服务器必须配置为覆盖slapo-sssvlv。
此外ORDERING
,必须指定适合用于排序的属性类型的匹配规则。它要么在子模式中默认指定,要么必须在搜索请求中指定。
此示例没有排序匹配规则会导致错误:
$ ldapsearch -LLL -E sss=-uid
Inappropriate matching (18)
Additional information: serverSort control: No ordering rule
这有效:
$ ldapsearch -LLL -E sss=-uid:caseIgnoreOrderingMatch
推荐阅读
- python - 每当我设置初始速度 0、最终速度 10 和时间变化 10 时,我都会得到 50 的回报
- c++ - 我可以在不知道捕获的情况下完善转发 lambda 函数吗?
- r - 当数据存在于usmap包中时,为什么这些状态不显示数据?
- c# - 调用 VisualTreeHelper.GetChild() 时出现 ArgumentOutOfRangeException
- c++ - Wxwidgets || 添加类和方法
- amazon-web-services - 将当前 Redshift 模式导入 Redshift QA 环境
- javascript - 儿童道具事件不保持父母的当前状态
- python - 在选定索引处插入字符串的程序
- sql - 同时计算两列中的值?SQL/SQLITE
- javascript - 带有 mapbox 的传单 - 设置默认语言