我在工作场所建立了一个新的 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
我已设法解决这个问题。
有两件事让它最终发挥作用:
向文件添加
/etc/sssd/sssd.conf
以下指令:ldap_user_name = msSFU30Name
- 设置 NTP 服务器并确保 sssd 客户端和身份验证服务器之间的偏移量不超过 3 秒。
答案2
如果没有日志,我们真的无法判断。关注https://fedorahosted.org/sssd/wiki/Troubleshooting来收集它们。
顺便说一句,使用 realmd 配置主机要容易得多。请参阅https://fedorahosted.org/sssd/wiki/Configuring_sssd_with_ad_server为推荐方式。