Я пытаюсь интегрировать свои серверы CentOS 6.6 в Active Directory. Я следил этот руководство от Red Hat с использованием конфигурации 3 (SSSD / Kerberos / LDAP). При использовании сервера Windows Server 2008 R2 в качестве контроллера домена с включенным IMU все работает отлично.
Однако, когда я использую сервер Windows Server 2012 R2 с включенным IMU, я могу получить билет Kerberos, присоединиться к домену, выполнить поиск по LDAP, но как только я попытаюсь войти в систему как пользователь AD с консоли, я получить это сообщение об ошибке в / var / log / messages:
6 июня, 11:12:30 тест [sssd [krb5_child [4760]]]: ошибка предварительной аутентификации
И / var / log / secure показывает эти сообщения об ошибках:
6 июня, 11:12:15 тестовый логин: pam_sss (логин: auth): получено для пользователя aduser@domain.local: 17 (Неудачная установка учетных данных пользователя)
6 июня 11:12:17 тестовый вход: НЕУДАЧНЫЙ ВХОД 1 ОТ (null) ДЛЯ 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] [В разрешении отказано]
Вот где это становится странным. Как root, если я обращаюсь к любому пользователю домена AD, он действительно работает, и домашний каталог создается автоматически. Я собираюсь признать поражение и просто придерживаться 2k8 DC.
Я не могу дать более квалифицированный ответ, не увидев sssd
журналы отладки, но отчет об ошибке, на который вы ссылаетесь, имел только влияние на производительность, но не работал.
Причина, по которой вы можете su
на счет из root
в том, что стек PAM обычно включает pam_rootok.so
модуль, который обходит аутентификацию с pam_sss
. Учитывая авторизацию от root
работает, мы по крайней мере знаем, что получение идентификационной информации работает, но не auth.
Я бы рекомендовал добавить дополнительную информацию к этому вопросу здесь или в списке sssd-users. Самое главное, sssd
журналы отладки с высоким debug_level
из раздела домена и krb5_child.log
.
Более подробную информацию можно найти в документ по устранению неполадок в вики SSSD.
Попробуй это:
chmod 644 /etc/krb5.conf