Как перечислить uid всех пользователей LDAP?

Я получаю список всех пользователей 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 должно быть перечислено.

shahrukh
abc
xyz
....
....
....
4
задан 30 September 2015 в 14:48
2 ответа

Вы можете указать атрибуты после фильтра, и он отобразит только эти атрибуты.

Например:

ldapsearch -x -LLL uid=* uid > result

Это может дать вам набор uid: 12345 строк. Затем вам, возможно, придется пропустить его через sed , чтобы удалить ненужный бит. (В качестве альтернативы, если вы сделаете это с помощью perl и Net :: LDAP , вы можете извлечь именно то, что хотите, но я думаю, что ldapsearch + sed - путь наименьшего сопротивления).

7
ответ дан 3 December 2019 в 02:57

Самый простой способ - передать результаты в grep, а затем вырезать. Пример:

ldapsearch -x -LLL uid=* | grep uid: | cut -d: -f2 > results
0
ответ дан 3 December 2019 в 02:57

Теги

Похожие вопросы