Alina Dubrovska writes:
need to implement user account lifetime functionality on my OpenLDAP
> server (2.3.27). For each user account lifetime can be set as
> "forever" or "number of days between 1 and 365". After lifetime
> expires user must be terminated (still present in LDAP, but not able
> to login).
>
> Could you please suggest some convenient way to implement such
> requirement?
I can't think of a directly supported way. So unless I'm missing
something, the simplest will be to create a attribute with the expiry
(is that correctly spelled?) time which includes an ORDERING rule, and
an object class which allows that attribute.
Do not set the attr for "forever"-entries, or use e.g. year 9000 as
"forever". Then...
- If your DB is small enough (since you can't index for ORDERING), run a
cron job every day which searches for "(expiryattribute<=now)"
and deletes userPassword and the expiry attr from the found those
entries.
- Or you could write a new overlay which rejects Bind if the expiry time
is in the past.
- Or you can have an access statement
access to attrs=userPassword filter=(expiryattribute<=now)
by * none
before other access statements controlling userPassword, which a cron
job updates each day. Can be done over the protocol if you use the
config backend, otherwise it has to update slapd.conf and restart
slapd so it'll re-read slapd.conf.
Something like this, unless someone knows an existing schema you can
use:
attributeType ( <your organization's OID>.1.1.1
NAME '<yourOrganization>expiryTime'
EQUALITY generalizedTimeMatch
ORDERING generalizedTimeOrderingMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
objectClass ( <your organization's OID>.1.2.1
NAME '<yourOrganization>expiryObject'
AUXILIARY
MAY ( <yourOrganization>expiryTime ) )
See Generalized Time in RFC 4517 for a description of the Generalized
Time syntax. See <http://www.openldap.org/faq/data/cache/391.html>
about getting an OID.
--
Regards,
Hallvard
---
You are currently subscribed to [email protected] as: [EMAIL PROTECTED]
To unsubscribe send email to [EMAIL PROTECTED] with the word UNSUBSCRIBE as the
SUBJECT of the message.