Created attachment 10024 [details] sssd-logs Стенд (samba домен): Сервер на ALT Server 10 Клиент на ALT Workstation 10 Сервер и клиент настроены по инструкции https://www.altlinux.org/ActiveDirectory/DC Имя домена: samba.testdomain С помощью приложения admc добавил UPN суффикс samba.xyz. Создал нового пользователя (test3), у которого в имени для входа выбрал samba.xyz. Указал пароль и включил чекбокс "Пользователь должен сменить пароль при следующем входе в систему". Пытаюсь авторизоваться этим пользователем на клиенте: логин ввожу в виде test3@samba.xyz, далее по запросу ввожу пароль (который указал при создании пользователя) и получаю ошибку "Неверный пароль". В логах journalctl при этом такие ошибки: дек 03 15:59:47 cli3.samba.testdomain krb5_child[3656]: Password has expired дек 03 15:59:47 cli3.samba.testdomain krb5_child[3656]: Password has expired дек 03 15:59:48 cli3.samba.testdomain krb5_child[3656]: Cannot find KDC for realm "SAMBA.XYZ" дек 03 15:59:48 cli3.samba.testdomain krb5_child[3656]: Cannot find KDC for realm "SAMBA.XYZ" дек 03 15:59:48 cli3.samba.testdomain lightdm[3637]: pam_sss(lightdm:auth): authentication failure; logname= uid=0 euid=0 tty=:0 ruser= rhost= user=test3@samba.xyz дек 03 15:59:48 cli3.samba.testdomain lightdm[3637]: pam_sss(lightdm:auth): received for user test3@samba.xyz: 9 (Службе проверки подлинности не удается загрузить сведения аутентификации) Но, если при создании пользователя не включать "Пользователь должен сменить пароль ...", то авторизация выполняется успешно. Отмечу, что на Windows клиенте (введёном в этот же домен) авторизация со сменой пароля по изменному UPN суффиксу выполняется успешно, т.е. получается, что проблема именно на стороне клиента linux. Версии пакетов: # rpm -qa | egrep "samba|sssd" samba-common-client-4.14.10-alt2.noarch sssd-dbus-2.6.1-alt2.x86_64 samba-common-libs-4.14.10-alt2.x86_64 sssd-ldap-2.6.1-alt2.x86_64 task-auth-ldap-sssd-0.43.9-alt5.x86_64 samba-common-4.14.10-alt2.noarch sssd-winbind-idmap-2.6.1-alt2.x86_64 sssd-2.6.1-alt2.x86_64 samba-winbind-common-4.14.10-alt2.x86_64 samba-4.14.10-alt2.x86_64 task-auth-ad-sssd-0.43.9-alt5.x86_64 sssd-client-2.6.1-alt2.x86_64 sssd-krb5-common-2.6.1-alt2.x86_64 samba-winbind-clients-4.14.10-alt2.x86_64 samba-client-4.14.10-alt2.x86_64 samba-common-tools-4.14.10-alt2.x86_64 samba-winbind-4.14.10-alt2.x86_64 sssd-ad-2.6.1-alt2.x86_64 samba-libs-4.14.10-alt2.x86_64 sssd-pac-2.6.1-alt2.x86_64 sssd-krb5-2.6.1-alt2.x86_64 Во вложении логи sssd c 'debug_level = 9'.
Использовалась ли опция sssd? krb5_use_subdomain_realm (логическое значение) Указывает использовать области поддоменов для проверки подлинности ользователей из доверенных доменов. Этот параметр можно установить в значение «true», если участники-предприятия используются с upnSuffixes, неизвестными KDC родительского домена. Если этот параметр установлен в значение «true», SSSD будет пытаться отправить запрос напрямую KDC того доверенного домена, из которого пришёл пользователь. По умолчанию: false Без этой опции раньше даже логин с upn-суффиксом не отрабатывал.
(Ответ для Evgeny Sinelnikov на комментарий #1) > Использовалась ли опция sssd? > > krb5_use_subdomain_realm (логическое значение) > > Указывает использовать области поддоменов для проверки подлинности > ользователей из доверенных доменов. Этот параметр можно установить в > значение «true», если участники-предприятия используются с upnSuffixes, > неизвестными KDC родительского домена. Если этот параметр установлен в > значение «true», SSSD будет пытаться отправить запрос напрямую KDC того > доверенного домена, из которого пришёл пользователь. > > По умолчанию: false > > Без этой опции раньше даже логин с upn-суффиксом не отрабатывал. Включение опции krb5_use_subdomain_realm не помогло, ошибка осталась. Конфиг sssd такой: [sssd] config_file_version = 2 services = nss, pam user = _sssd domains = SAMBA.TESTDOMAIN [nss] [pam] [domain/SAMBA.TESTDOMAIN] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad default_shell = /bin/bash fallback_homedir = /home/%d/%u debug_level = 9 ; cache_credentials = false ad_gpo_ignore_unreadable = true ad_gpo_access_control = permissive krb5_use_subdomain_realm = true
sssd-2.9.3-alt1.x86_64 - ошибка актуальна.
(Ответ для Alexander Makeenkov на комментарий #0) ... > Но, если при создании пользователя не включать "Пользователь должен сменить > пароль ...", то авторизация выполняется успешно. ... Этого я не понял. Так оно, вообще, не работает или не работает при некоторых условиях? Что значит "если при создании пользователя не включать "Пользователь должен сменить пароль ...""? Это же главное основное предусловие. А смена пароля для такого пользователя, в принципе, работает? Иначе, данную задачу, получается, стоило бы тогда назвать не "Ошибка авторизации пользователя с изменённым UPN суффиксом при необходимости смены пароля", а "Ошибка смены пароля при авторизации пользователя с изменённым UPN через sssd". Кстати, а через winbind кто-нибудь проверял? А через kpasswd? А как ведёт себя kinit для пользователя с изменённым UPN, если он "должен сменить пароль при следующем входе в систему"?
(Ответ для Evgeny Sinelnikov на комментарий #4) > (Ответ для Alexander Makeenkov на комментарий #0) > ... > > Но, если при создании пользователя не включать "Пользователь должен сменить > > пароль ...", то авторизация выполняется успешно. > ... > > Этого я не понял. Так оно, вообще, не работает или не работает при некоторых > условиях? Не работает при условии, что пользователю требуется сменить пароль при входе. > Кстати, а через winbind кто-нибудь проверял? Попробовал - вообще пишет "Неправильный пароль" даже без галочки "Сменить пароль". Т.е. с изменённым суффиксом UPN не удаётся авторизоваться через winbind вообще (возможно, нужно завести отдельную ошибку?). > А через kpasswd? > А как ведёт себя kinit для пользователя с изменённым UPN, если он "должен сменить пароль при следующем входе в систему"? # kpasswd test1@samba.xyz kpasswd: Cannot find KDC for requested realm getting initial ticket # kinit test1@samba.xyz kinit: Cannot find KDC for realm "samba.xyz" while getting initial credentials
Таким образом, поскольку на работает даже kinit, sssd в текущей проблеме не причем. Дело в настройках сервера. Это или сам сервер, или клиентская часть его админки, то есть admc. Необходимо проверить на то же сервере добавление другого upn-суыыиксп через rsat. Если kinit после этого заработает, то значит дело в admc. Ну, так оно, скорее всего и есть. Предположу, что при установке галочки сменить пароль при первом входе, upn-суффикс на самом деле не устанавливается. Это можно проверить в атрибутах. А также командой kinit test1.
(Ответ для Evgeny Sinelnikov на комментарий #6) > Таким образом, поскольку на работает даже kinit, sssd в текущей проблеме не > причем. Дело в настройках сервера. Это или сам сервер, или клиентская часть > его админки, то есть admc. > > Необходимо проверить на то же сервере добавление другого upn-суыыиксп через > rsat. Если kinit после этого заработает, то значит дело в admc. Ну, так оно, > скорее всего и есть. > > Предположу, что при установке галочки сменить пароль при первом входе, > upn-суффикс на самом деле не устанавливается. Это можно проверить в > атрибутах. А также командой kinit test1. Проверено на том же сервере: 1. В rsat создать пользователя test3 с параметром "Пользователь должен сменить пароль при следующем входе в систему"; 2. ПКМ по пользователю - свойства - Редактор атрибутов - выбрать userPrincipalName - изменить - поменять с test3@samba.testdomain на test3@samba.test - ок - ок; 3. на клиенте ALT проверить вход под test3@samba.test. Результат: успешный вход. Проверить ещё можно так, создать по тем же шагам test4, изменить суффикс и проверить работает ли kinit. kinit работает: $ kinit test4 Password for test4@SAMBA.TESTDOMAIN: Password expired. You must change it now. Enter new password: Enter it again: Warning: Your password will expire in 42 days on Пт 02 фев 2024 09:41:59 Вывод: после изменения upn-суффикса конкретно в rsat - вход на клиенте ALT под test3@samba.test выполняется корректно. Однако при обратной ситуации (при изменении суффикса в admc) и входе под пользователем с новым суффиксом завершается ошибкой, как было указано ранее. Условие остаётся единым: выставлена галочка "Пользователь должен сменить пароль при следующем входе в систему".
> Однако при обратной ситуации (при изменении суффикса в admc) и входе под пользователем с новым суффиксом завершается ошибкой, как было указано ранее. А в admc тоже менялся samba.test, или на samba.xyz, как указано в первом комментарии? Здесь это может оказаться важным, например, поэтому: $ host samba.xyz samba.xyz has address 3.64.163.50 $ host samba.test Host samba.test not found: 3(NXDOMAIN)
(Ответ для Ivan A. Melnikov на комментарий #8) > > Однако при обратной ситуации (при изменении суффикса в admc) и входе под пользователем с новым суффиксом завершается ошибкой, как было указано ранее. > > А в admc тоже менялся samba.test, или на samba.xyz, как указано в первом > комментарии? > > Здесь это может оказаться важным, например, поэтому: > > $ host samba.xyz > samba.xyz has address 3.64.163.50 > $ host samba.test > Host samba.test not found: 3(NXDOMAIN) В admc менялся на samba.test Причём $ host samba.test - пустой вывод Видит только изначально настроенный: $ host samba.testdomain samba.testdomain has address 10.88.14.84