如何列出LDAP所有用户的uid?

Sha*_*han 4 bash ldap uid

我使用以下命令获取 LDAP 的所有用户的列表ldapsearch -x -LLL uid=* > result

以下命令的结果如下格式

dn: uid=shahrukh,ou=People,dc=example,dc=com
uid: shahrukh
cn: shahrukh
sn: shahrukh
loginShell: /bin/bash
uidNumber: 1086
gidNumber: 1086
homeDirectory: /home/ldap/shahrukh
Run Code Online (Sandbox Code Playgroud)

有这些记录的完整列表。

我想在一个文件中列出所有 uid,以便只列出 uid 的值。

shahrukh
abc
xyz
....
....
....
Run Code Online (Sandbox Code Playgroud)

Sob*_*que 7

您可以在过滤器后指定属性,它只会显示这些属性。

例如:

ldapsearch -x -LLL uid=* uid > result
Run Code Online (Sandbox Code Playgroud)

这可能会给你一堆uid: 12345线。然后,您可能必须通过管道将sed其移除以移除您不想要的部分。(或者,如果你这样做perlNet::LDAP你可以精确地提取你想要的东西 - 但我认为ldapsearch+sed是阻力最小的路径)。