Wie liste ich die UID aller LDAP-Benutzer auf?

Wie liste ich die UID aller LDAP-Benutzer auf?

Mit dem folgenden Befehl erhalte ich eine Liste aller LDAP-Benutzer ldapsearch -x -LLL uid=* > result.

Das Ergebnis des folgenden Befehls ergibt folgendes Format

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

Es gibt eine vollständige Liste dieser Datensätze.

Ich möchte alle UIDs in einer Datei so auflisten, dass nur der UID-Wert aufgelistet wird.

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

Antwort1

Sie können nach Ihrem Filter Attribute angeben und es werden nur diese Attribute angezeigt.

Z.B:

ldapsearch -x -LLL uid=* uid > result

Dies kann zu einer Reihe von uid: 12345Zeilen führen. Sie müssen es dann möglicherweise weiterleiten, sedum den Teil zu entfernen, den Sie nicht möchten. (Alternativ können Sie es mit tun perlund Net::LDAPgenau das extrahieren, was Sie möchten – aber ich denke, ldapsearch+ sedist der Weg des geringsten Widerstands).

Antwort2

Der einfachste Weg wäre, die Ergebnisse an grep weiterzuleiten und dann auszuschneiden. Beispiel:

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

verwandte Informationen