Integração do Linux AD, incapaz de efetuar login ao usar o Windows Server 2012 DC

3

Estou tentando integrar meus servidores CentOS 6.6 ao Active Directory. Eu segui este guia da Red Hat usando configuração 3 (SSSD / Kerberos / LDAP). Ao usar um servidor Windows Server 2008 R2 como o controlador de domínio com IMU ativado, tudo funciona perfeitamente.

No entanto, quando uso um servidor Windows Server 2012 R2 com IMU ativado, posso adquirir um ticket do kerberos, ingressar no domínio, pesquisar o LDAP, mas assim que tento fazer login como um usuário do AD a partir do consola, recebo esta mensagem de erro em / var / log / messages:

Jun 6 11:12:30 test [sssd[krb5_child[4760]]]: Preauthentication failed

E / var / log / secure mostra essas mensagens de erro:

Jun 6 11:12:15 test login: pam_sss(login:auth): received for user [email protected]: 17 (Failure setting user credentials)

Jun 6 11:12:17 test login: FAILED LOGIN 1 FROM (null) FOR [email protected], Authentication failure

Usar getent passwd aduser ou getent group linuxgroup é retornado com sucesso.

Eu tentei com este arquivo sssd.conf:

[sssd]
config_file_version = 2
services = nss, pam
domains = domain.local
debug_level = 5

[domain/domain.local]
id_provider = ad
auth_provider = ad

ad_server = dc.domain.local

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

cache_credentials = false
ldap_id_mapping = false

Então eu li este relatório de bug. Então, eu mudei meu arquivo sssd.conf para isso:

[sssd]
config_file_version = 2
reconnection_retries = 2
services = nss,pam
debug_level = 5
domains = domain.local

[nss]
debug_level = 5

[pam]
debug_level = 5

[domain/domain.local]
id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
debug_level = 5

ldap_uri = ldap://dc.domain.local/
ldap_sasl_mech = GSSAPI
ldap_schema = rfc2307bis

ldap_user_search_base = dc=domain,dc=local
ldap_user_object_class = user

ldap_user_home_directory = unixHomeDirectory
ldap_user_principal = userPrincipalName

ldap_group_search_base = dc=domain,dc=local
ldap_group_object_class = group

ldap_access_order = expire
ldap_account_expire_policy = ad
ldap_force_upper_case_realm = true

ldap_referrals = false

krb5_server = dc.domain.local
krb5_realm = DOMAIN.LOCAL
krb5_canonicalize = false

enumerate = false
cache_credentials = false

Limpei meu cache de SSSD e reiniciei o serviço. No entanto, não consigo fazer login.

Estou recebendo este erro agora em / var / log / messages:

Jun 6 11:21:43 test [sssd[krb5_child[1546]]]: Permission denied

Estou vendo este erro em /var/log/sssd/krb5_child.log:

(Sat Jun 6 11:21:43 2015) [[sssd[krb5_child[1387]]]] [sss_get_ccache_name_for_principal] (0x2000): krb5_cc_cache_match failed: [-1765328243][Can't find client principal [email protected] in cache collection]

(Sat Jun 6 11:21:43 2015) [[sssd[krb5_child[1387]]]] [create_ccache] (0x0020): 575: [13][Permission denied]

Agora, é aí que fica estranho. Como root, se eu su para qualquer usuário do domínio do AD, ele realmente funciona e o diretório home é criado automaticamente. Estou prestes a admitir a derrota e ficar com o 2k8 DC.

    
por Python Novice 06.06.2015 / 18:47

2 respostas

4

Eu não posso dar uma resposta mais qualificada sem ver os% debug de sssd , mas o relatório de bug ao qual você está se referindo só teve implicações de desempenho, não funcionais.

O motivo pelo qual você pode su para a conta de root é que a pilha PAM normalmente inclui o módulo pam_rootok.so que ignora a autenticação com pam_sss . Considerando a autenticação de root works, pelo menos sabemos que a recuperação de informações de identidade funciona, mas não a autenticação.

Eu recomendaria adicionar mais informações a essa pergunta aqui ou na lista sssd-users. Mais importante ainda, sssd depura os logs com um alto debug_level da seção de domínio e o krb5_child.log .

Encontre mais informações no documento de solução de problemas no wiki do SSSD.

    
por 06.06.2015 / 22:57
-2

Tente isto:

chmod 644 /etc/krb5.conf
    
por 27.10.2015 / 13:50