Chapter 6. Configuring temporary password rules Directory Server password policies support setting temporary passwords on user accounts. If you assign a temporary password to a user, Directory Server rejects any other operation than a password change until the user changes its password. The following are the features of temporary passwords: Only the cn=Directory Manager account can assign temporary passwords. Directory Server allows authentication attempts only for a fixed number of times to avoid that an attacker probes the password. Directory Server allows authentication attempts after a specified delay to configure that the temporary passwords are not usable directly after you set them. Directory Server allows authentication attempts only for a specified time so that the temporary password expires if a user does not use or reset it. If the authentication was successful, Directory Server requires that the user resets the password before the server performs any other operation. By default, temporary password rules are disabled. You can configure them in global or local password policies. 6.1. Enabling temporary password rules in the global password policy To enable the temporary password feature for the whole Directory Server instance: Enable that users must change their password if an administrator resets it. Configure the feature in the global password policy. If an administrator updates the userPassword attribute of a user and sets the passwordMustChange attribute to on , Directory Server applies the temporary password rules. Procedure Configure that a user must change its password after an administrator resets it: # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdmustchange on Configure the temporary password rules settings in a global password policy: # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60 In this example: The --pwptprmaxuse option sets the maximum number of attempts a user can use the temporary password to 5 . The --pwptprdelayexpireat option sets the time before the temporary password expires to 3600 seconds (1 hour). The --pwptprdelayvalidfrom option configures that the time set in --pwptprdelayexpireat starts 60 seconds after an administrator reset the password of a user. Verification Display the attributes that store the temporary password rules: # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy get | grep -i TPR passwordTPRMaxUse: 5 passwordTPRDelayExpireAt: 3600 passwordTPRDelayValidFrom: 60 6.2. Enabling temporary password rules in a local password policy To enable the temporary password feature for a specific user or sub-tree, enable that users must change their password if an administrator resets it, and configure the feature in a local password policy. If an administrator updates the userPassword attribute of a user and sets the passwordMustChange attribute to on , Directory Server applies the temporary password rules if the user: Has the local password policy enabled Is stored in a sub-tree that has the local password policy enabled Procedure Configure that a user must change its password after an administrator resets it: # dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdmustchange on Configure the temporary password rules settings: For an existing sub-tree: # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp addsubtree --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60 ou=People,dc=example,dc=com For an existing user: # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp adduser --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60 uid=example,ou=People,dc=example,dc=com In these examples: The --pwptprmaxuse option sets the maximum number of attempts a user can use the temporary password to 5 . The --pwptprdelayexpireat option sets the time before the temporary password expires to 3600 seconds (1 hour). The --pwptprdelayvalidfrom option configures that the time set in --pwptprdelayexpireat starts 60 seconds after an administrator reset the password of a user. Verification Display the local password policy of the distinguished name (DN): # dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp get <DN> | grep -i TPR passwordTPRMaxUse: 5 passwordTPRDelayExpireAt: 3600 passwordTPRDelayValidFrom: 60

Commands:
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdmustchange on
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy get | grep -i TPR passwordTPRMaxUse: 5 passwordTPRDelayExpireAt: 3600 passwordTPRDelayValidFrom: 60
dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --pwdmustchange on
dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp addsubtree --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60 ou=People,dc=example,dc=com
dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp adduser --pwptprmaxuse 5 --pwptprdelayexpireat 3600 --pwptprdelayvalidfrom 60 uid=example,ou=People,dc=example,dc=com
dsconf -D "cn=Directory Manager" ldap://server.example.com localpwp get <DN> | grep -i TPR passwordTPRMaxUse: 5 passwordTPRDelayExpireAt: 3600 passwordTPRDelayValidFrom: 60