ldapsearch – Obtenha todos os membros de um CN (nisNetgroupTriple)

ldapsearch – Obtenha todos os membros de um CN (nisNetgroupTriple)

Sou um pouco novo no uso do LDAP, especialmente do AD LDAP. Usamos o RedHat Directory Server e estávamos tentando fazer uma consulta LDAP (filtro especificamente) que recuperaria todos os usuários (e seus atributos) de um cnque usa um nisNetgroupTripleatributo com nomes de usuários específicos. É assim que gerenciamos os “superusuários” e então todos os demais são colocados em um determinado grupo cncom base em suas necessidades. Então, minha pergunta é: como você pesquisa e filtra usando ldapsearchpara recuperar os usuários E atributos ( uid, sn, givenName, mail) de um arquivo cn. Aqui está um exemplo de resultado de um ldapsearchteste que fiz:

# 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

O que preciso fazer é obter os atributos de cada usuário: user1, user2, user3, 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

Não consigo encontrar nada que faça sentido na internet sobre como fazer isso (se é que pode ser feito). Além disso, talvez eu não tenha um entendimento completo dessa parte do LDAP, e pode ser por isso que 1) não consigo encontrar nada e 2) não sei como descobrir sozinho.

Qualquer ajuda é apreciada.

Responder1

O comando a seguir ajudará na busca pelo nome de usuário dependendo da configuração.

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

Ele exibirá o único cn. Você pode fazer um grep rápido e a saída será curta e precisa. Seria mais útil adicionar/modificar esse grupo.

Tente esta consulta LDAP e me avise se tiver algum problema.

informação relacionada