# bootstrap the user life cycle DIT structure. dn: cn=provisioning,$SUFFIX default: objectclass: top default: objectclass: nsContainer default: cn: provisioning dn: cn=accounts,cn=provisioning,$SUFFIX default: objectclass: top default: objectclass: nsContainer default: cn: accounts dn: cn=staged users,cn=accounts,cn=provisioning,$SUFFIX default: objectclass: top default: objectclass: nsContainer default: cn: staged users dn: cn=deleted users,cn=accounts,cn=provisioning,$SUFFIX default: objectclass: top default: objectclass: nsContainer default: cn: deleted users # This is used for the admin to know if credential are set for stage users # We can do a query on a DN to see if an attribute exists or retrieve the value dn: cn=staged users,cn=accounts,cn=provisioning,$SUFFIX add:aci: (targetattr="userPassword || krbPrincipalKey")(version 3.0; acl "Search existence of password and kerberos keys"; allow(read, search) userdn = "ldap:///uid=admin,cn=users,cn=accounts,$SUFFIX";) # This is used for the admin to reset the delete users credential # No one is allowed to add entry in Delete container dn: cn=deleted users,cn=accounts,cn=provisioning,$SUFFIX add:aci: (targetattr="userPassword || krbPrincipalKey || krbPasswordExpiration || krbLastPwdChange")(version 3.0; acl "Admins allowed to reset password and kerberos keys"; allow(read, search, write) userdn = "ldap:///uid=admin,cn=users,cn=accounts,$SUFFIX";) add:aci: (targetattr = "*")(version 3.0; acl "No one can add entry in Delete container"; deny (add) userdn = "ldap:///all";) dn: cn=provisioning accounts lock,cn=accounts,cn=provisioning,$SUFFIX default: objectClass: top default: objectClass: cosSuperDefinition default: objectClass: cosPointerDefinition default: objectClass: ldapSubEntry default: costemplatedn: cn=Inactivation cos template,cn=accounts,cn=provisioning,$SUFFIX default: cosAttribute: nsaccountlock operational default: cn: provisioning accounts lock dn: cn=Inactivation cos template,cn=accounts,cn=provisioning,$SUFFIX default: objectClass: top default: objectClass: extensibleObject default: objectClass: cosTemplate default: cosPriority: 1 default: cn: Inactivation cos template default: nsAccountLock: true