【问题标题】:Make LDAP search don't show DN使 LDAP 搜索不显示 DN
【发布时间】:2026-01-23 06:55:02
【问题描述】:

如何为 LDAP 搜索创建一个 bourne shell 代码以不返回 DN 而只返回 CN?我正在为此使用 iTerm2。

【问题讨论】:

  • 我尝试使用 cn 过滤器来显示 cn,但我找不到任何关于删除 DN 返回的信息。我试过 --searchScope one,但它不会返回任何东西。
  • 您需要显示 LDAP 输出的样子。
  • dn: uid=zsarour,ou=august,ou=2013,ou=paris,ou=people,dc=42,dc=fr dn: uid=zcarde,ou=august,ou=2014 ,ou=paris,ou=people,dc=42,dc=fr 这样的东西,只是数量多得多。

标签: shell ldap sh distinguishedname


【解决方案1】:

如果您只想查看cn 结果,则可以使用类似:

ldapsearch -o ldif-wrap=no -L <blah> cn | grep '^cn:'

&lt;blah&gt; 是您的绑定/搜索条件

它返回dn 的原因是因为没有它,返回的数据将无法正确形成 ldif。

通过使用-o ldif-wrap=no,您不必处理返回数据的换行问题。

【讨论】:

  • 使用 grep 的 exclude 表示法来排除 dn,然后命令的右侧保持不变,并且可以在左侧添加其他属性。 ldapsearch -o ldif-wrap=no -LLL &lt;blah&gt; mail | grep -v -E '(^$|dn:)'