Как исправить ошибку “PAM unable to dlopen(/lib64/security/pam_ldap.so)” в SLES 15 SP4?

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

Как-то я оказался в SLES 15 с такими сообщениями об ошибках:

(systemd)[6729]: PAM не может загрузить /lib64/security/pam_ldap.so: /lib64/security/pam_ldap.so: невозможно открыть общий файл: Нет такого файла или каталога

Тем не менее, я не уверен, что привело к этой ситуации, и также не уверен, как это исправить, потому что, похоже, нет RPM с pam_ldap.so.

Система была обновлена с SLES 12 SP5 на SLES 15 SP3 до SLES 15 SP4.

Очевидно, что настройка клиента LDAP предполагалась и однажды работала, но в данный момент не работает.

Из журнала изменений для SLES 15 SP4 кажется, что pam_ldap был удален. Я предполагаю, что вам нужно использовать pam_sss, который поддерживает LDAP.

.

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

Если вы столкнулись с ошибкой «PAM unable to dlopen(/lib64/security/pam_ldap.so)» в SLES 15 SP4 после обновления системы с SLES 12 SP5, существует предпосылка, что в процессе апгрейда произошли изменения в поддержке PAM и LDAP. Изменения в системных модулях PAM могут вызвать подобные ошибки. В данной ситуации модуль pam_ldap больше не поддерживается и не доступен в SLES 15 SP4.

Вот шаги, которые необходимо выполнить, чтобы исправить эту ситуацию:

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

Для начала проверьте конфигурационные файлы PAM, например /etc/pam.d/common-auth, /etc/pam.d/common-account и другие, присутствуют ли там упоминания pam_ldap.

В случае наличия, их потребуется заменить или удалить.

2. Установка и настройка SSSD

В новых версиях SLES предлагается использовать pam_sss, который поддерживает работу с LDAP.

  • Установите SSSD:
    Команда для установки SSSD:

    zypper install sssd
  • Настройте SSSD:
    Создайте или отредактируйте файл конфигурации /etc/sssd/sssd.conf. Типовая конфигурация будет выглядеть следующим образом:

    [sssd]
    services = nss, pam
    domains = LDAP
    
    [domain/LDAP]
    id_provider = ldap
    auth_provider = ldap
    ldap_uri = ldap://your-ldap-server
    ldap_search_base = dc=yourdomain,dc=com

    Обратите внимание, что параметры ldap_uri и ldap_search_base нужно заменить на ваши реальные значения.

  • Обновите конфигурацию PAM:
    Убедитесь, что PAM использует SSSD для аутентификации. Проверьте, например, /etc/pam.d/common-auth, /etc/pam.d/common-account на наличие:

    auth    required    pam_sss.so
    account required    pam_sss.so

3. Перезапустите службы

После настройки перезапустите службы для применения изменений:

systemctl restart sssd

4. Тестирование и проверка

Проверьте, правильно ли функционирует система аутентификации с помощью команды:

getent passwd

Если данные LDAP видны, а аутентификация работает, проблема решена.

Использование pam_sss вместо устаревшего pam_ldap является оптимальным решением в современных версиях SLES. Данный подход обеспечивает не только совместимость, но и предлагает дополнительные возможности интеграции с различными системами аутентификации.

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

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