Я пытаюсь интегрировать свои серверы CentOS 6.6 в Active Directory. Я следовал этому руководству от Red Hat с помощью конфигурации 3 (SSSD/Kerberos/LDAP). При использовании сервера Windows Server 2008 R2 в качестве контроллера домена w/IMU включил, все работает отлично.
Однако то, когда я использую сервер Windows Server 2012 R2 w/IMU, включило, я могу получить kerberos билет, присоединиться к домену, искать LDAP, но как только я пытаюсь войти в систему в как AD пользователь от консоли, я получаю это сообщение об ошибке в/var/log/messages:
6 июня 11:12:30 теста [sssd [krb5_child[4760]]]: предварительная аутентификация перестала работать
И/var/log/secure показывает эти сообщения об ошибках:
6 июня 11:12:15 тестирует вход в систему: pam_sss (login:auth): полученный для пользователя aduser@domain.local: 17 (Удостоверения пользователя установки Failure)
6 июня 11:12:17 тестирует вход в систему: НЕУДАВШИЙСЯ ВХОД В СИСТЕМУ 1 ОТ (пустого указателя) ДЛЯ aduser@domain.local, Ошибки аутентификации
Используя getent passwd aduser
или getent group linuxgroup
возвраты успешно.
Я попробовал этим 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
Затем я прочитал этот отчет об ошибках. Так, я изменил свой sssd.conf файл на это:
[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
Я очистил свой кэш SSSD и перезапустил сервис. Все же я не могу войти в систему.
Я получаю эту ошибку теперь в/var/log/messages:
6 июня 11:21:43 теста [sssd [krb5_child[1546]]]: Разрешение отклонено
Я вижу эту ошибку в /var/log/sssd/krb5_child.log:
(Суббота 6 июня 11:21:43 2015) [[sssd [krb5_child[1387]]]] [sss_get_ccache_name_for_principal] (0x2000): krb5_cc_cache_match перестал работать: [-1765328243] [Не может найти клиентский принципал aduser@DOMAIN.LOCAL в наборе кэша]
(Суббота 6 июня 11:21:43 2015) [[sssd [krb5_child[1387]]]] [create_ccache] (0x0020): 575: [13] [Разрешение, отклоненное]
Теперь, это - то, где это становится странным. Как корень, если я su какому-либо AD пользователю домена это на самом деле работает и корневой каталог автоматический созданный. Я собираюсь признать поражение и просто придерживаться с 2k8 DC.
Я не могу дать более точный ответ, не просмотрев журналы отладки sssd
, но отчет об ошибке вы имеете в виду только влияние на производительность, но не функциональность.
Причина, по которой вы можете использовать su
для учетной записи из root
, заключается в том, что стек PAM обычно включает ] pam_rootok.so
модуль, который обходит аутентификацию с помощью pam_sss
. Учитывая, что авторизация из root
работает, мы, по крайней мере, знаем, что получение идентификационной информации работает, но не авторизация.
Я бы рекомендовал добавить дополнительную информацию к этому вопросу здесь или в списке sssd-users. Самое главное, sssd
журналы отладки с высоким debug_level
из раздела домена и krb5_child.log
.
Более подробную информацию можно найти в документ по устранению неполадок на вики-странице SSSD.