Linux-SSSD:当使用域用户登录时总是输入错误的密码,但是为什么呢?

Linux-SSSD:当使用域用户登录时总是输入错误的密码,但是为什么呢?

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

我可以说它sssd部分起作用了,让我给你演示一下:

我已清理sssd本地计算机上的缓存,重新启动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.X.X.12 ,ldap://10.X.X.11 
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.X.X.12 ,10.X.X.11
krb5_realm = EYEDCNY.LOCAL
krb5_kpassword = default
ldap_referrals = false
case_sensitive = false
[root@pnd01 ~]# 

问题是,每当我尝试su从一个普通用户帐户切换到另一个普通用户帐户时,我都会收到错误的密码,即使该密码肯定是正确的。

正如您在此处看到的,用户不是从中获取的,/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,因为如果它正在查找配置的 URI,/etc/sssd/sssd.conf那么正确的 URI 就配置在那里。

你能尝试找出这种行为的原因吗?

答案1

我已设法解决这个问题。

有两件事让它最终发挥作用:

  1. 向文件添加/etc/sssd/sssd.conf以下指令:

    ldap_user_name = msSFU30Name

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

答案2

如果没有日志,我们真的无法判断。关注https://fedorahosted.org/sssd/wiki/Troubleshooting来收集它们。

顺便说一句,使用 realmd 配置主机要容易得多。请参阅https://fedorahosted.org/sssd/wiki/Configuring_sssd_with_ad_server为推荐方式。

相关内容