.png)
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 cn
servidor que usa un nisNetgroupTriple
atributo 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 cn
según sus necesidades. Entonces, mi pregunta es, ¿ cómo se busca y filtra usando para recuperar los usuarios Y los ldapsearch
atributos ( uid
,,, ) de un archivo . Aquí hay algunos resultados de muestra de una que hice como prueba: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
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.