1 votos

ldapsearch muestra entradas de miembros sin CN

Estoy usando ldapsearch en un debian Linux 9 cuadro a la consulta de un MS Active Directory. Me gustaría consulta/búsqueda de todos los usuarios de mi grupo "mygroupname". El comando

ldapsearch -o ldif-wrap=no -xWLLL -D "myaccount" -h mydomain -b "ou=user,dc=mydc,dc=com" "cn=mygroupname" member

tiene el siguiente resultado:

dn: CN=mygroupname,OU=user,DC=mydc,DC=com
member: CN=Paula Normal,OU=whatever,OU=...,OU=...,OU=...,DC=mydc,DC=com
member:: Q049QmV0dGluYSBUw7Zs...................9nbmUsT1U9RGV1dHNjwdGEsREM9Y29t
member: CN=Peter Testman,OU=whatever2,OU=...,OU=...,OU=...,DC=mydc,DC=com
...

He comparado el resultado con el AD-GUI. El de la segunda entrada, debe ser otro usuario válido, pero el resultado es inesperado y no se puede leer. El CN,OU,DC a la falta de información. Me enteré de que el extraño entradas son válidas, pero están codificados en base64.

Dónde está la falla? Es allí cualquier tipo de corrupción en el ANUNCIO? Es mi comando de consulta de malo? ¿Por qué algunas entradas codificadas en base64. Cómo obtener el derecho de salida?

0voto

Su línea de comandos

ldapsearch -o ldif-wrap=no -xWLLL -D "myaccount" -h mydomain -b "ou=user,dc=mydc,dc=com" "cn=mygroupname" member

limita explícitamente los atributos solicitados en la búsqueda de miembro.

Simplemente tratamos de agregar los nombres de atributo como de línea de comandos adicionales args:

ldapsearch -o ldif-wrap=no -xWLLL -D "myaccount" -h mydomain -b "ou=user,dc=mydc,dc=com" "cn=mygroupname" cn ou o member

Ver también: ldapsearch(1)

Además, usted debe aprender acerca de LDIF sintaxis (véase el RFC 2849) que se supone debe ser ASCII limpio. Los dos signos de dos puntos después de que el tipo de atributo nombre significa que el valor de la base codificado, por ejemplo, a causa de la NO-ASCII char en un nombre. Una buena LDIF módulo para decodificar ldapsearch de salida o mejor utilizar un módulo LDAP para su favorito lenguaje de secuencias de comandos.

0voto

Norbert Weuster Puntos 11

La razón por la inesperada salida es un NO-ASCII char en el cn-nombre. La línea que comienza con "miembro::" indica un codificados en base64 valor, que puede ser decodificado (por ejemplo echo "$value" | base64 -d -)

Los resultados de la búsqueda de ldapsearch se muestra a través de una versión extendida de LDIF.

LDIF sintaxis (véase el RFC 2849) se supone que se ASCII limpio.

Una rápida solución a recibir una salida legible podría realizarse mediante el uso de un contenedor como

myldapsearch() { ldapsearch $* | perl -MMIME::Base64 -n -00 -e 's/\n +//g;s/(?<=:: )(\S+)/decode_base64($1)/eg;print'; }  

Visto en esta pregunta.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: