LDAP のすべてのユーザーの uid を一覧表示するにはどうすればいいですか?

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

これらのレコードの完全なリストがあります。

uid の値のみがリストされるように、すべての uid を 1 つのファイルにリストします。

shahrukh
abc
xyz
....
....
....

答え1

フィルターの後に属性を指定すると、それらの属性のみが表示されます。

例えば:

ldapsearch -x -LLL uid=* uid > result

これにより、多数の行が生成される可能性があります。その後、不要な部分を削除するためにuid: 12345パイプ処理が必要になる場合があります。(または、 と を使用すると、必要なものを正確に抽出できますが、 + が最も抵抗の少ないパスだと思います)。sedperlNet::LDAPldapsearchsed

答え2

最も簡単な方法は、結果をgrepにパイプしてカットすることです。例は次のとおりです。

ldapsearch -x -LLL uid=* | grep uid: | cut -d: -f2 > results

関連情報