SSSD no Centos, a pesquisa do Active Directory retorna zero resultados

1

Informações básicas

Estou executando o sssd (1.13.3-22) no Centos (6.8) para autenticar com o Active Directory (2012). Eu não quero usar números uid armazenados no AD, então eu tenho ldap_id_mapping definido como true.

Quando eu executo "id ValidUsername", recebo a resposta "No Such User". Eu olho no log do domínio sssd e vejo que a pesquisa do ldap por ValidUsername não retornou nenhum resultado. Quando eu executo a mesma consulta com o ldapsearch, ele também não retorna nenhum resultado, mas eu posso modificar a consulta para excluir o uidNumber e ele retornará um resultado. Veja os detalhes abaixo para obter informações de consulta do ldap.

Informações detalhadas

sssd_VALID.DOMAIN.CORP.log Snippet

[sdap_search_user_next_base] (0x0400): Searching for users with base [DC=valid,DC=domain,DC=corp]
[sdap_get_generic_ext_step] (0x0400): calling ldap_search_ext with [(&(sAMAccountName=ValidUsername)(objectclass=user)(sAMAccountName=*)(&(uidNumber=*)(!(uidNumber=0))))][DC=valid,DC=domain,DC=corp].
[sdap_get_generic_op_finished] (0x0400): Search result: Success(0), no errmsg set
[sdap_search_user_process] (0x0400): Search for users, returned 0 results.
[sdap_get_users_done] (0x0040): Failed to retrieve users
[sysdb_search_by_name] (0x0400): No such entry
[sysdb_delete_user] (0x0400): Error: 2 (No such file or directory)
[acctinfo_callback] (0x0100): Request processed. Returned 0,0,Success
[be_ptask_online_cb] (0x0400): Back end is online

A consulta ldap sssd usada está listada no log em [sdap_get_generic_ext_step]. Se eu pegar a mesma consulta e testá-la executando a pesquisa do ldap, também não obtenho resultado:

ldapsearch -LLL -Y GSSAPI -N -H ldap://dc1.valid.domain.corp -b "DC=valid,DC=domain,DC=corp" '(&(sAMAccountName=ValidUsername)(objectclass=user)(sAMAccountName=*)(&(uidNumber=*)(!(uidNumber=0))))'

No entanto, se eu remover as partes de pesquisa uidNumber da consulta, recebo os dados do usuário esperados como resultado:

ldapsearch -LLL -Y GSSAPI -N -H ldap://dc1.valid.domain.corp -b "DC=valid,DC=domain,DC=corp" '(&(sAMAccountName=ValidUsername)(objectclass=user)(sAMAccountName=*))'

Se ldap_id_mapping estiver definido como true, por que o sssd está consultando o AD para dados uidNumber? Eu verifiquei os atributos do usuário e o atributo uidNumber não tem valor, então sssd não funcionará a menos que eu preencha este valor. A Microsoft está desaprovando as ferramentas de gerenciamento para atributos unix , então prefiro não me incomodar com elas.

Eu não quero usar o winbind, que foi esquisito para mim no passado.

Existe algum item de configuração que eu possa usar para forçar o sssd a enviar uma consulta de consulta de usuário válida? Ou há algo mais que eu esteja sentindo falta?

sssd.conf

[sssd]
config_file_version = 2
debug_level = 6
domains = VALID.DOMAIN.CORP
services = nss, pam

[nss]
debug_level = 6

[pam]
debug_level = 6

[domain/VALID.DOMAIN.CORP]
debug_level = 8

id_provider = ad
access_provider = ad
auth_provider = ad
chpass_provider = ad
subdomains_provider = none

dyndns_update = false

ad_server = dc1.VALID.DOMAIN.corp
ad_backup_server = dc2.VALID.DOMAIN.corp

ldap_id_mapping = true
ldap_schema = ad

fallback_homedir = /home/%d/%u
default_shell = /bin/bash

smb.conf

workgroup = VALID
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = VALID.DOMAIN.CORP
security = ads
log file = /var/log/samba/log.%m
max log size = 50
    
por Hank Killinger 16.11.2016 / 20:20

1 resposta

1

É porque você define o provedor de subdomínios como none. É um pouco contra-intuitivo, mas o provedor de subdomínios também recupera informações sobre o domínio associado, incluindo o SID necessário para o mapeamento de IDs.

Você tem três opções:

  1. ative o provedor de subdomínios. Não sei por que você o desativou, a maioria das pessoas faz isso para trabalhar em torno de domínios confiáveis inacessíveis
  2. se você precisar manter o provedor de subdomínios desativado, precisará definir manualmente o SID do domínio, consulte man sssd-ldap e procurar "domain_sid"
  3. Se você estiver executando o 7.3, só poderá ativar o domínio associado usando ad_enabled_domains
por 17.11.2016 / 09:35