Linux-SSSD:当向域用户请求时总是得到不正确的密码,但是为什么?

我在工作场所build立了一个新的Linux环境。 我configuration了sssd并将其绑定到公司的一个Active Directory域。

我可以说sssd是部分工作,让我告诉你:

我已经清理本地机器上的sssdcaching,重新启动sssd并查询域用户:

 [root@pnd01 ~]# sss_cache -E [root@pnd01 ~]# service sssd restart Stopping sssd: [ OK ] Starting sssd: [ OK ] [root@pnd01 ~]# id itai.ganot uid=10238(itai.ganot) gid=10012(XXXX_ops) groups=10012(XXXX_ops) [root@pnd01 ~]# 

这是sssd.conf文件:

 [sssd] config_file_version = 2 reconnection_retries = 3 sbus_timeout = 30 services = nss, pam domains = AD [nss] filter_groups = root filter_users = root reconnection_retries = 3 override_shell = /bin/bash [pam] reconnection_retries = 3 [domain/AD] enumerate = true id_provider = ldap auth_provider = krb5 ldap_uri = ldap://10.XX12 ,ldap://10.XX11 ldap_schema = rfc2307 ldap_default_bind_dn = CN=testuser,CN=Users,DC=eyedcny,DC=local ldap_default_authtok_type = password ldap_default_authtok = Aa123456 ldap_user_object_class = user ldap_user_home_directory = unixHomeDirectory ldap_user_name = sAMAccountName ldap_group_object_class = group ldap_force_upper_case_realm = true ldap_tls_reqcert = never ldap_account_expire_policy = ad ldap_search_base = CN=RND Users,DC=eyedcny,DC=local krb5_server = 10.XX12 ,10.XX11 krb5_realm = EYEDCNY.LOCAL krb5_kpassword = default ldap_referrals = false case_sensitive = false [root@pnd01 ~]# 

问题是,每当我尝试从一个正常的用户帐户到另一个,我得到一个不正确的密码,即使密码是肯定的。

正如你在这里看到的,用户不是从/etc/passwd取出的,而是从与AD同步的:

 [root@pnd01 ~]# grep itai.ganot /etc/passwd [root@pnd01 ~]# su - itai.ganot [itai.ganot@pnd01 ~]$ su - itai.ganot Password: su: incorrect password [itai.ganot@pnd01 ~]$ 

编辑#1:以下是从/var/log/secure得到的错误的相关行:

 Apr 13 14:49:27 pnd02 su: pam_unix(su-l:auth): authentication failure; logname=root uid=10238 euid=0 tty=pts/0 ruser=itai.ganot rhost= user=itai.ganot Apr 13 14:49:27 pnd02 su: pam_sss(su-l:auth): authentication failure; logname=root uid=10238 euid=0 tty=pts/0 ruser=itai.ganot rhost= user=itai.ganot Apr 13 14:49:27 pnd02 su: pam_sss(su-l:auth): received for user itai.ganot: 4 (System error) 

编辑#2:另一件值得一提的事情是:

 [root@pnd01 ~]# authconfig --enablesssd --enablesssdauth --enablelocauthorize --update authconfig: Invalid LDAP URI. [root@pnd01 ~]# 

我不知道为什么我得到这个错误,或者它在哪里查找LDAP URI,因为如果它查看/etc/sssd/sssd.confconfiguration的/etc/sssd/sssd.conf那么在那里configuration正确的URI。

你可以请尝试find这种行为的原因?

我已经设法解决这个问题。

有两件事情最终使它工作:

  1. 将以下指令添加到文件/etc/sssd/sssd.conf中:

    ldap_user_name = msSFU30Name

  2. 设置NTP服务器,并确保sssd客户端和身份validation服务器之间的偏移量不超过3秒。

没有日志我们真的不能分辨。 按照https://fedorahosted.org/sssd/wiki/Troubleshooting收集它们。

顺便说一句,使用realmdconfiguration主机要容易得多。 推荐的方法见https://fedorahosted.org/sssd/wiki/Configuring_sssd_with_ad_server