Назад | Перейти на главную страницу

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 ~]#

Я не уверен, почему я получаю эту ошибку или где он ищет URI LDAP, потому что если он смотрит на тот, который настроен в /etc/sssd/sssd.conf то там настраивается правильный URI.

Не могли бы вы найти причину такого поведения?

Мне удалось решить проблему.

В конечном итоге это сработало по двум причинам:

  1. Добавление в файл /etc/sssd/sssd.conf следующая директива:

    ldap_user_name = msSFU30Name

  2. Настройте NTP-сервер и убедитесь, что смещение между sssd-клиентами и серверами аутентификации не превышает 3 секунд.

Без логов мы действительно не можем сказать. следить https://fedorahosted.org/sssd/wiki/Troubleshooting чтобы собрать их.

кстати, для настройки хостов использовать realmd гораздо проще. Видеть https://fedorahosted.org/sssd/wiki/Configuring_sssd_with_ad_server для рекомендованного способа.