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.