ldapsearch — получение всех членов CN (nisNetgroupTriple)

ldapsearch — получение всех членов CN (nisNetgroupTriple)

Я немного новичок в использовании LDAP, особенно не AD LDAP. Мы используем RedHat Directory Server и пытались сделать запрос LDAP (в частности, фильтр), который извлекал бы всех пользователей (и их атрибуты) из , который cnиспользует nisNetgroupTripleатрибут с определенными именами пользователей. Вот как мы управляем «суперпользователями», а затем все остальные попадают в определенный cnна основе их потребностей. Итак, мой вопрос заключается в том, как вы ищете и фильтруете, используя ldapsearchдля извлечения пользователей И атрибутов ( uid, sn, givenName, mail) из cn. Вот пример вывода из , который ldapsearchя сделал в качестве теста:

# ldapsearch -xLLL -h server-p 389 -D "cn=Directory Manager" -b "cn=linux,dc=example,dc=org" \* + -W
Enter LDAP Password:
dn: cn=linux,dc=example,dc=org
nisNetgroupTriple: (,user1,)
nisNetgroupTriple: (,user2,)
nisNetgroupTriple: (,user3,)
cn: linux
objectClass: top
objectClass: nisNetgroup
memberNisNetgroup: linux
description: Linux

Мне нужно получить атрибуты для каждого пользователя: user1, user2, user3, например:

# ldapsearch -xLLL -h server -p 389 -D "cn=Directory Manager" -b "dc=example,dc=org" -x '(&(objectClass=posixAccount)(uid=user1))' -W
Enter LDAP Password:
dn: uid=user1,ou=People,dc=example,dc=org
userPassword:: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
givenName: User
sn: One
loginShell: /bin/false
gidNumber: 1000
uidNumber: 10054
mail: user1@localhost
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetorgperson
objectClass: posixAccount
uid: user1
cn: User One
homeDirectory: /home/user1

Не могу найти ничего разумного в интернете о том, как это сделать (если это вообще возможно). Кроме того, у меня может быть неполное понимание этой части LDAP, что может быть причиной 1) того, что я ничего не могу найти и 2) того, что я не знаю, как разобраться в этом сам.

Любая помощь будет оценена по достоинству.

решение1

Следующая команда поможет в поиске имени пользователя в зависимости от конфигурации.

ldapsearch -h localhost -D "cn=Directory Manager" -b "dc=example,dc=org" -W -x "(&(objectClass=nisnetgroup)(nisNetgroupTriple=\(,user1,\)))" cn | grep dn

Он отобразит единственный cn. Вы можете сделать быстрый grep, и вывод будет коротким и точным. Было бы полезнее добавить/изменить эту группу.

Попробуйте выполнить этот запрос LDAP и сообщите мне, если у вас возникнут какие-либо проблемы.

Связанный контент