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

ppolicy с pam_ldap - pwdReset не действует при входе в систему из Ubuntu

Мы установили оверлей ppolicy на наш сервер ldap. Политики паролей работают правильно для блокировки пользователя после X попыток ввода неверного пароля, но мы не можем заставить пользователя изменить свой пароль.

Когда мы устанавливаем атрибут pwdReset = TRUE для пользователя - пользователь может войти в систему как обычно с клиентской машины Ubuntu.

Сервер и клиент Ldap были настроены в соответствии с инструкциями Ubuntu: https://help.ubuntu.com/12.10/serverguide/openldap-server.html

Клиентская машина использует pam_ldap

В файле конфигурации /etc/ldap.conf есть строка "pam_lookup_policy yes"

Но атрибут pwdReset игнорируется.

Согласно тому, что я читал в Интернете, pam_ldap должен соблюдать ppolicy и требовать, чтобы пользователь изменил свой пароль, когда установлен pwdReset. Но у нас это не работает ..

Как заставить клиент ubuntu соблюдать атрибут pwdReset?

Может можно включить ведение журнала отладки для pam_ldap? Но не могу найти, как это сделать ...

Я тоже столкнулся с этим - моя конкретная проблема заключалась в том, что в то время как некоторые сторонние приложения (в нашем случае Okta) ищут pwdReset, то pam_ldap плагин нет.

Взглянув на исходный код для pam_ldap как размещено здесь: https://github.com/wfhu/pam_ldap - Я пришел к выводу, что pam_ldap полностью игнорирует pwdReset который является частью OpenLDAP ppolicy.schema. Вы можете найти схему, которую использует OpenLDAP, здесь: http://www.zytrax.com/books/ldap/ape/ppolicy.html

ПРИМЕЧАНИЕ. Я считаю, что проблема в том, что атрибуты политики OpenLDAP отличаются от исходной схемы, в которой (Netscape? / UniversityOfMichigan? / Sun?) Использовалась реализация LDAP-сервера. pam_ldap надеется.

какой делает работать правильно shadow* атрибуты, которые являются частью shadowAccount objectClass.

[Шаги для Ubuntu]

  1. Убедитесь, что у ваших пользователей установлена ​​политика паролей в LDAP, установив флажок pwdPolicySubentry:

    ldapsearch (...) -b dc=example,dc=org "(uid=testinguser)" pwdPolicySubentry
    
  2. Проверьте своего пользователя shadow* Информация

    slapcat -a uid=testinguser
    
  3. Устанавливать shadowLastChange до 0, чтобы разрешить pam_ldap распознать просроченный пароль

    Это можно сделать с помощью скрипта, который проверяет наличие pwdReset и обновления shadowLastChange.

Когда это настроено, PAM правильно заставит пользователя изменить свой пароль при входе в систему.

Смотрите также: http://www.openldap.org/lists/openldap-technical/201210/msg00044.html

Вы должны убедиться, что pwdMustChange установлен на TRUE об эффективной политике паролей пользователя.

Видеть страница руководства slapo-ppolicy Чтобы получить больше информации.