web-dev-qa-db-fra.com

Comment lister uid de tous les utilisateurs de LDAP?

J'obtiens la liste de tous les utilisateurs de LDAP en utilisant la commande suivante ldapsearch -x -LLL uid=* > result.

Le résultat de la commande suivante se présente au format suivant

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

Il existe une liste complète de ces enregistrements.

Je veux présélectionner tous les uid dans un fichier de telle sorte que seule la valeur de uid soit répertoriée.

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

Vous pouvez spécifier des attributs après votre filtre et il n'affichera que ces attributs.

Par exemple.:

ldapsearch -x -LLL uid=* uid > result

Cela pourrait vous donner un tas de uid: 12345 lignes. Vous devrez peut-être ensuite le diriger via sed pour supprimer le bit dont vous ne voulez pas. (Alternativement, si vous le faites avec Perl et Net::LDAP vous pouvez extraire précisément ce que vous voulez - mais je pense que ldapsearch + sed est le chemin de moindre résistance).

7
Sobrique

Le moyen le plus simple serait de diriger les résultats vers grep puis de couper. L'exemple est

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