Решаю проблему с openldap. Моя цель - создать учетную запись в openldap и установить время, в течение которого эта учетная запись действительна. Итак, по истечении этого времени ldap вернет, например, что эта учетная запись не существует / больше не действительна. Я искал в Google, но не нашел ничего, что казалось бы простым для реализации. Я всего лишь слепой или ничего подобного здесь нет?
Спасибо всем за вашу помощь и время.
Для этого можно использовать накладку. Это называется «dds» / «Службы динамического каталога». Вы можете найти дополнительную информацию здесь: http://www.openldap.org/doc/admin24/overlays.html#Dynamic%20Directory%20Services
Кроме того, есть также справочная страница: man 5 slapo-dds :)
Вы можете включить его, используя cn = config, добавив его как новую заметку, например, таким образом:
dn: olcOverlay=dds,olcDatabase={1}mdb,cn=config
objectClass: olcDDSConfig
olcOverlay: dds
olcDDSstate: TRUE
olcDDSmaxTtl: 604800
olcDDSminTtl: 86400
olcDDSdefaultTtl: 86400
olcDDSinterval: 3600
olcDDStolerance: 0
olcDDSmaxDynamicObjects: 10
В таком случае olcDatabase={1}mdb,cn=config
- это база данных, которая представляет ваше DIT (информационное дерево данных, ваш основной каталог LDAP). Проверьте узел olcSuffix
атрибут, чтобы быть уверенным.
После включения этого наложения вы можете создать новый узел в своем DIT и добавить вспомогательный объектный класс. dynamicObject
; таким образом ваш новый узел будет иметь указанное время жизни.
Пример:
dn: cn=user1,ou=users,dc=example,dc=com
objectClass: person
objectClass: simpleSecurityObject
objectClass: dynamicObject
cn: user1
userPassword: password
Этот оверлей становится еще более мощным после объединения с элементом memberOf-overlay (man 5 slapo-memberof
). Обязательно зацените!