ldapsearch: obtiene todos los miembros de un CN (nisNetgroupTriple)

ldapsearch: obtiene todos los miembros de un CN (nisNetgroupTriple)

Soy un poco nuevo en el uso de LDAP, especialmente LDAP que no es AD. Usamos RedHat Directory Server e intentamos realizar una consulta LDAP (filtro específicamente) que recuperaría todos los usuarios (y sus atributos) de un cnservidor que usa un nisNetgroupTripleatributo con nombres de usuario específicos. Así es como administramos a los "superusuarios" y luego todos los demás pasan a un lugar específico cnsegún sus necesidades. Entonces, mi pregunta es, ¿ cómo se busca y filtra usando para recuperar los usuarios Y los ldapsearchatributos ( uid,,, ) de un archivo . Aquí hay algunos resultados de muestra de una que hice como prueba:sngivenNamemailcnldapsearch

# 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

Lo que necesito hacer es obtener los atributos para cada usuario: user1, user2, user3, tales como:

# 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

Parece que no puedo encontrar nada que tenga sentido en Internet sobre cómo hacer esto (si es que se puede hacer). Además, es posible que no comprenda completamente esta parte de LDAP, lo que podría ser el motivo por el cual 1) no puedo encontrar nada y 2) no sé cómo resolverlo por mí mismo.

Se agradece cualquier ayuda.

Respuesta1

El siguiente comando ayudará a buscar el nombre de usuario según la configuración.

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

Mostrará el único cn. Puede realizar una búsqueda rápida y el resultado será breve y preciso. Sería más útil agregar/modificar a ese grupo.

Pruebe esta consulta LDAP y avíseme si tiene algún problema.

información relacionada