Ubuntu SSSD LDAP аутентификация по имени пользователя и адресу электронной почты

Вопрос или проблема

На данный момент я могу пройти аутентификацию с помощью сервиса Onelogin VLDAP, используя имя пользователя. Я также хотел бы пройти аутентификацию с помощью адреса электронной почты в дополнение к имени пользователя.

Некоторые пользователи созданы с адресом электронной почты в качестве их имени пользователя, и я не могу пройти аутентификацию через LDAP с этими адресами электронной почты как именами пользователей.

Файл /etc/sssd/sssd.conf выглядит следующим образом: https://pastebin.com/raw/jMzmRFC4

Файл /etc/nsswitch.conf выглядит следующим образом: https://pastebin.com/raw/s8Eap6HP

Файл /var/log/sssd/sssd_domain.com.log выглядит так:

часть#1/3 : https://pastebin.com/raw/mwpcCDx3

часть#2/3 : https://pastebin.com/raw/UxfzxkNJ

часть#3/3 : https://pastebin.com/raw/VLNTyCzf

Кстати: имена пользователей:

Работающий случай: имя пользователя = abc123

Не рабочий случай: имена пользователей = [email protected], [email protected] , [email protected] (адрес электронной почты ldapuser01) [email protected] (адрес электронной почты ldapuser02)

Пользователь [email protected] никогда не проходил аутентификацию в системе, и поэтому ничего не кэшируется.

Пожалуйста, помогите решить эту проблему.

Я также заметил, что, даже введя пароль дважды, мы не можем войти в графический интерфейс Ubuntu, он просто возвращает на экран ввода пароля.

  • Иногда получается войти после 2 попыток, а иногда после 3 попыток.

Сервисы OneLogin VLDAP настроены как:

Виртуальное обособленное имя

Виртуальное DN: cn=email,ou=users,dc=mysubdomain,dc=onelogin,dc=com

Идентификатор пользователя (cn)

Примечание: Когда

a. “ldap_user_name = имя_пользователя” в [domain/mydomain.com], мы можем аутентифицироваться с помощью имени пользователя.

b. “ldap_user_name =” в [domain/mydomain.com] пустой или вся строка закомментирована, мы не можем пройти аутентификацию ни с одной учетной записью пользователя (имя пользователя или адрес электронной почты).

c. “ldap_user_name = mail” в [domain/mydomain.com], мы можем аутентифицироваться с помощью имени пользователя.

Как решить эту проблему?

Ответ или решение

Для решения проблемы авторизации пользователей в Ubuntu через SSSD с использованием LDAP, где необходимо поддерживать возможность входа как по имени пользователя, так и по адресу электронной почты, нужно осуществить несколько шагов. Ниже приведено подробное руководство с основными аспектами настроек.

1. Анализ текущей конфигурации SSSD

На основе предоставленного вами файла конфигурации /etc/sssd/sssd.conf, важно определить правильные настройки для франшизы ldap_user_name. Вы подметили, что изменения в этой опции напрямую влияют на возможность авторизации.

Если у вас установлено:

ldap_user_name = username

то авторизация происходит по имени пользователя, а если строка закомментирована или оставлена пустой, это блокирует авторизацию в обоих случаях.

Таким образом, вам нужно изменить это значение, чтобы SSSD мог обрабатывать как имена пользователей, так и адреса электронной почты.

2. Настройка SSSD для поддержки адресов электронной почты

Вам необходимо настроить конфигурацию таким образом, чтобы она могла учитывать оба параметра. Попробуйте следующее:

  • Откройте файл конфигурации SSSD:
sudo nano /etc/sssd/sssd.conf
  • Для секции [domain/mydomain.com] добавьте строку:
ldap_user_name = mail

Это укажет SSSD, что для аутентификации также можно использовать адрес электронной почты.

3. Кэширование и сброс

После изменения конфигурации необходимо перезапустить SSSD и очистить кэш:

sudo systemctl restart sssd
sudo sss_cache -E

4. Проверка лога SSSD

После обновления конфигурации и перезапуска демона SSSD, внимательно проверьте логи:

sudo tail -f /var/log/sssd/sssd_domain.com.log

Это поможет выявить возможные ошибки аутентификации и подтвердить, что новые параметры взяты в расчет.

5. Проблемы с графическим интерфейсом

Если вы столкнулись с тем, что система не позволяет войти в графический интерфейс даже после успешной аутентификации, это может быть связано с несколькими факторами:

  • Проблемы с кэшированием: Убедитесь, что у вас нет старых кэшей пользователей, которые могут конфликтовать. Команда sss_cache -E способна устранить эти проблемы.
  • Проверка прав: Убедитесь, что права пользователя корректно установлены в системе. Возможно, необходимо добавить пользователя в группы, предоставляющие доступ.
  • Логи службы графической среды: Проверьте соответствующие логи, например, для GDM или LightDM, находящиеся в /var/log/.

6. Заключение

Настройка аутентификации через SSSD LDAP с использованием как имени пользователя, так и адреса электронной почты требует внимательного подхода. Обязательно сравните доступные настройки и тестируйте изменения. Если после всех процедур проблемы сохраняются, можно рассмотреть возможность обращения к документации или сообществу поддержки для поиска решения.

Такое подход обеспечит вам гибкость при работе с пользователями, использующими разные способы аутентификации, и снизит количество потенциальных проблем в будущем.

Оцените материал
Добавить комментарий

Капча загружается...