Este comando funciona e me retorna uma grande resposta com todos os tipos de informações sobre o usuário com ID de usuário XXXXXXX.
ldapsearch -D 'uid=<system ID>,ou=system,ou=users,dc=<domain>,dc=com' -x -H '<ldap server address>' -w '<system ID password> -b 'ou=users,dc=<domain>,dc=com' 'uid=XXXXXXX'
No entanto, fui instruído a primeiro vincular com o ID do sistema e, em seguida, "revincular" com o UID/senha do usuário para verificar se esse usuário pode ser autorizado.
Isso é possível com o comando ldapsearch? Talvez seja possível usar apenas o ID/senha do usuário para vincular, em vez do vínculo inicial com o ID/senha do sistema?
EDIT: Acho que a seção 2.4.3.3 é o que estou tentando transmitir.
Não há nenhum
ldapsearch
recurso integrado para fazer isso em uma única etapa. O que você está descrevendo é a lógica específica do aplicativo; é muito comumente implementado em vários softwares que usam LDAP, mas exigiria duasldapsearch
invocações se você estivesse tentando fazer o mesmo via CLI, assim como requer a criação de duas sessões LDAP por meio da API.Se você já conhece o DN LDAP completo do usuário, sim, basta usá-lo no
-D
parâmetro.No entanto, se você souber apenas o uid, mas não o DN inteiro, precisará procurá-lo primeiro (como está fazendo agora) e, em seguida, copiar manualmente o 'dn' da saída da pesquisa e chamar
ldapsearch
uma segunda vez, com o DN do usuário especificado como-D
.(Uma exceção: se o servidor LDAP executar o Active Directory, ele aceitará os UPNs "usuário@domínio" e também "DOMÍNIO\usuário" no lugar do DN, portanto, você poderá usar
-D 'XXXXXXX@<domain>.com'
. Esse não é um recurso geral do LDAP, no entanto, e eu não confiaria nisso.)