Linux AD集成,使用Windows Server 2012 DC时无法login

我正在尝试将我的CentOS 6.6服务器集成到Active Directory中。 我从Red Hat使用configuration3(SSSD / Kerberos / LDAP)遵循本指南。 当使用Windows Server 2008 R2服务器作为启用了IMU的域控制器时,一切正常。

但是,当我使用启用了IMU的Windows Server 2012 R2服务器时,我能够获得kerberos票据,join域,searchLDAP,但只要我尝试以控制台的AD用户身份login,在/ var / log / messages中获取此错误消息:

Jun 6 11:12:30 test [sssd [krb5_child [4760]]]:预authentication失败

而/ var / log / secure显示了这些错误信息:

6月6日11:12:15testinglogin名:pam_sss(login:auth):为用户[email protected]收到:17(失败设置用户凭证)

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

使用getent passwd adusergetent group linuxgroup成功返回。

我试过用这个sssd.conf文件:

  [SSSD]
 config_file_version = 2
服务= nss,pam
 domains = domain.local
 debug_level = 5

 [域/ 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
服务= nss,pam
 debug_level = 5
 domains = domain.local

 [NSS]
 debug_level = 5

 [PAM]
 debug_level = 5

 [域/ 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 =域,dc =本地
 ldap_group_object_class =组

 ldap_access_order =过期
 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

枚举= false
 cache_credentials = false

我清除了我的SSSDcaching并重新启动了服务。 但是我无法login。

我现在在/ var / log / messages中收到了这个错误:

Jun 6 11:21:43 test [sssd [krb5_child [1546]]]:权限被拒绝

我在/var/log/sssd/krb5_child.log中看到这个错误:

(6月6日星期六11:21:43)[[sssd [krb5_child [1387]]]] [sss_get_ccache_name_for_principal](0x2000):krb5_cc_cache_match失败:[-1765328243] [在caching中找不到客户端主体[email protected]采集]

(6月6日星期六11:21:43)[[sssd [krb5_child [1387]]] [create_ccache](0x0020):575:[13] [Permission denied]

现在,这是奇怪的地方。 作为根,如果我su任何AD域用户它实际上工作和主目录是自动创build的。 我即将承认失败,只是坚持2K8 DC。

我不是我可以给一个更合格的答案没有看到sssddebugging日志,但你所指的错误报告只有性能影响,而不是function。

您可以从根目录获取帐户的原因是,PAM堆栈通常包含pam_rootok.so模块,该模块绕过使用pam_sss的身份validation。 鉴于根作品的authentication,我们至less知道,检索身份信息的作品,但不authentication。

我build议在这里或在sssd-users列表中添加更多的信息到这个问题。 最重要的是,SSSD使用来自域部分和krb5_child.log的高debugging级别来debugging日志

在sssd wiki上有一个疑难解答文档,但每次链接时,答案都会被标记为垃圾邮件:-)

尝试这个:

 chmod 644 /etc/krb5.conf