我正在解决 openldap 的问题。我的目标是通过在 openldap 中创建帐户并设置一个时间,该帐户的有效期是多久。因此,在此时间到期后,ldap 将返回此帐户不存在/不再有效等信息。我在谷歌上搜索,但没有找到任何看起来容易实现的东西。是我眼瞎还是这里真的没有这样的东西?
感谢大家的帮助和时间。
答案1
您可以使用覆盖来实现这一点。它被称为“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
) 结合,此覆盖将变得更加强大。请务必查看!