Вопрос или проблема
На данный момент я могу пройти аутентификацию с помощью сервиса 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 с использованием как имени пользователя, так и адреса электронной почты требует внимательного подхода. Обязательно сравните доступные настройки и тестируйте изменения. Если после всех процедур проблемы сохраняются, можно рассмотреть возможность обращения к документации или сообществу поддержки для поиска решения.
Такое подход обеспечит вам гибкость при работе с пользователями, использующими разные способы аутентификации, и снизит количество потенциальных проблем в будущем.