LINUX.ORG.RU

запрет пользователю менять пароль более одного раза - openldap

 , ,


0

1

Centos 7, openldap 2.4.44 (slapd)

настроил политику наложения паролей ppolicy. мне необходимо сделать так, чтобы юзер не смог изменить свой пароль более 1 раза (чтобы смог сменить пароль только один раз, после чего такой возможности у него не было бы). может кто-нибудь реализовывал подобно и сможет подсказать какими атрибутами/политиками я смогу добиться такого ограничения? в документации по ppolicy я не нашел атрибута/директивы, подходящих для такого кейса

мой кейс это что-то вроде метода подписки:

  1. создается учетная запись юзеру
  2. атрибутом политики pwdMaxAge задается время жизни пароля учетки (тем самым и ограничивается срок действия учетной записи, т.к. в таком кейсе просроченный пароль=неработающая учетка) 2.1 но ограничение жизни пароля в атрибуте pwdMaxAge можно обойти просто пересоздав пароль заново (сменить), и отсчет pwdMaxAge начнется сначала.
  3. после создания учетки юзеру направляется пароль, который он должен будет сменить на свой. 3.1 для смены пароля юзерами, был развернут self-service-password (https://github.com/ltb-project/self-service-password) - где юзеры могут его сменить введя присланный им пароль как «старый» и задав себе новый свой пароль - в этот момент обнуляются политики паролей pwdMaxAge, это ок.

теперь проблема: пользователь может даже через пол года войти на веб-форму и сменить себе пароль, тем самым обнулив отсчет pwdMaxAge и продлив срок действия пароля и учетной записи. поэтому и хочу ограничить количество попыток смены пароля до одной: когда юзер меняет присланный ему пароль на свой из пункта 3.1 и чтобы после этого не смог сменить пароль еще раз

если кому-нибудь будет интересно, я нашел как ограничить одни разом смену пароля юзером: атрибут pwdMinAge https://ldapwiki.com/wiki/PwdChangedTime

pwdMinAge=3600 Данный атрибут управляет минимальным временем (в секундах) между сменами пароля. В приведённом выше примере пароль может изменяться не чаще чем раз в час (3600 секунд). Попытки изменить пароль до истечения этого времени будут отклоняться. Значение по умолчанию — 0 позволяет производить смену пароля в любое время с момента последнего изменения.

это значит, что: pwdMinAge=3600 pwdMaxAge=3600 и за весь срок (1 час) пользователь сможет поменять свой пароль только один раз.

kurdit ()
Ответ на: комментарий от zgen

в моем кейсе время жизни пароля = время жизни учетки

других вариантов ограничить время жизни учетки лдап, кроме как жизнью пароля, я не нашел (лдап используется для авторизации в ELK Kibana)

kurdit ()