web-dev-qa-db-ja.com

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の値のみがリストされるように、1つのファイル内のすべてのuidをショートリストにしたい。

shahrukh
abc
xyz
....
....
....
5
Shahrukh Khan

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

例えば。:

ldapsearch -x -LLL uid=* uid > result

これはあなたにたくさんのuid: 12345行。次に、それをsedにパイプして、不要なビットを削除する必要がある場合があります。 (または、PerlNet::LDAP必要なものを正確に抽出できますが、ldapsearch + sedは抵抗が最も少ないパスです)。

7
Sobrique

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

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