Show Table of Contents
2. New in Red Hat Directory Server 9.1
Directory Server 9.1 has introduced many features to make managing the directory service and its data easier.
2.1. New: Auto Membership Plug-in
Being able to assign new entries to groups, automatically, at the time that an account is created ensures that the appropriate policies and functionality are immediately applied to those entries — without requiring administrator intervention.
The Auto Membership Plug-in uses an LDAP search to identify new members for a given static group, and then automatically adds those new entries as members as soon as they are created.
Automembership essentially allows a static group to act similar a dynamic group, at least for adding new members. This can allow administrators to add users to specific user groups, to create special groups for Windows users as part of Windows integration, or to create host groups.
The Auto Membership Plug-in allows sub-filters on results. So, for example, host entries within one IP range could be added to a web servers group while host entries within another IP range could be added to a desktop group, and servers outside either range could be added to a fallback group.
Three tasks allow the Auto Membership Plug-in to run against existing users and update their group memberships:
- rebuild membership, which re-runs the Auto Membership Plug-in on existing entries to update the group membership; this is essentially a fix-up task
- automember export updates, which does a test-run of what the membership changes would be and writes them to a specified LDIF file
- map updates, which inputs the entries from an LDIF file, performs a test-run, and then writes what the results of the fix-up task would be to a given LDIF file
This can ease group administration as desired membership policies are created or modified.
2.2. New: Security Strength Factor Setting for the Root DSE
A new server configuration attribute,
nsslapd-minssf-exclude-rootdse, allows security strength factor (SSF) settings to be ignored for queries against the root DSE. This allows clients to access root DSE information which may be required for operations without having to use a secure connection.
2.3. Enhanced: logconv.pl Script Options
The
logconv.pl script parses the access log for a Directory Server instance and provides a summary of connections, binds, operations (by type), and error or return codes.
The
logconv.pl could return summaries for the entire log or only within a specified time range. New options have been added that show per-minute (-M) or per-second (-m) statistics, in addition to the summary, for the entire log or for the given time range. These per-minute or per-second statistics are exported to a CSV file, which can be imported into other programs for further analysis.
Additionally, summary statistics have been added for three more operation types:
- Compares
- Mod DN
- Proxy authenticated operations
2.4. Enhanced: Access Logging Information
The access log information for some operations types has been enhanced:
- Compare operations now log the DN of the user which initiated the operation.
- Proxy operations in the access log now include the proxy ID as whom the operation was run (
authzid) as well as the real use which ran the operation (dn).
2.5. Enhanced: Deleting Managed Entries Plug-in Configuration
The Managed Entries Plug-in uses child configuration entries to define instance-specific managed entries rules. Previously, these configuration entries could not be deleted, which meant that the only way that a managed entries configuration could be disabled was to set the scope to a null setting.
Now, Managed Entries Plug-in configuration entries can be deleted.
2.6. Enhanced: PAM Pass-Through Authentication Rules per Directory Suffix
PAM pass-through authentication allows a user authenticating to the Directory Server to be authenticated against the system credentials defined in a PAM module. (The authentication request is passed-through to the other identity provider.)
Previously, PAM pass-through authentication was enabled for and defined for the entire directory. Starting in Red Hat Directory Server 9.1, PAM pass-through authentication can be defined for entries within a suffix of the directory, rather than the entire directory.
The entries to which PAM pass-through applies are identified with the
pamFilter plug-in attribute in the PAM Pass-Through Authentication Plug-in configuration entry. This allos a search filter which can target a specific user, specific attribute and value, or a suffix in the tree.
Because of the new flexibility in where to apply PAM pass-through authentication rules, the PAM Pass-Through Authentication Plug-in has been enhanced to allow multiple configuration entries. This allows there to be multiple directory filters, mapping methods, and other settings, depending on specific needs within the directory.
2.7. New: Setting an ACI for the Directory Manager
Access control instructions are set at different points in the directory tree, at the root suffix, subsuffixes, or even user (leaf) levels. ACIs can also be set on configuration suffixes, such as
cn=config. However, with that structure for ACI targets, it was not possible to set any ACI on the Directory Manager user because that is a special user which exists outside the directory tree.
Beginning with this update, there is a new plug-in, RootDN Access Control Plug-in, which defines some access control rules for the root user (Directory Manager) account. This allows restrictions based on time of day and host or IP address of the source machine, for enhanced security.
2.8. New: Disabling Replication Agreements
In previous versions of Directory Server there was no explicit way to disable a replication agreement. The only methods to suspend replication were to change the schedule or to delete the agreement entirely.
The
nsds5ReplicaEnabled attribute is introduced in this update, which works as a switch to enable or disable a replication agreement. This allows a master server to be removed from the topology for maintenance or updates without having to completely dismantle the replication configuration for that server.
2.9. New: CLEANRUV Clean-up Task
When a server is removed from the replication topology, the metadata for that server and its update operations (the RUV) still remain on the other servers. Retaining that server and RUV information can create unstable behavior with other master servers in certain situations.
Two new tasks have been introduced for cleaning out lingering RUVs:
- CLEANRUV, which removes the RUVs for the specified replica on a single master
- CLEANALLRUV, which removes the RUVs for the specified replica on a master and then replicates that operation to all other masters and hubs in the replication topology
These tasks can be initiated by creating a task entry in
cn=tasks. Alternatively, the task to remove a dead replica from the RUV of another replica can be initiated by adding an attribute for the task to the second replica entry:
dn: cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config ... nsds5task: CLEANALLRUVreplicaID
2.10. New: Account Usability Control for LDAP Searches
This update to Directory Server introduced a new
ldapsearch control which allows credential-less bind attempts to return authentication information about an account.
Most of the time, for the Directory Server to return authentication information about a user account, a client actually binds (or attempts to bind) as that user. And a bind attempt requires some sort of user credentials, usually a password or a certificate. While the Directory Server allows unauthenticated binds and anonymous binds, neither of those binds returns any user account information.
There are some situations where a client requires information about a user account — specifically whether an account should be allowed to authenticate — in order to perform some other operation, but the client either does not have or does use any credentials for the user account in Directory Server. Essentially, the client needs to perform a credential-less yet authenticated bind operation to retrieve the user account information (including password expiration information, if the account has a password).
This can be done through an
ldapsearch by passing the Account Usability Extension Control. This control acts as if it performs an authenticated bind operation for a given user and returns the account status for that user, but without actually binding to the server. This allows a client to determine whether that account can be used to log in and then to pass that account information to another application, like PAM.
Important
The OpenLDAP tools used by Directory Server do not support the Account Usability Extension Control. Other LDAP utilities, like OpenDS, or other clients which do support the control can be used.
2.11. New: Operational Attribute for the Last Password Change Time
Previously, any change to an entry updated the
modifyTimeStamp operational attribute.
Starting with this update, a new operational attribute,
pwdUpdateTime, is used specifically for the last modify time of passwords, separate from the overall entry modify time. This gives password and lockout policies another attribute to evaluate for account inactivity or password expiration.
Tracking the last password change time is enabled in the
passwordTrackUpdateTime configuration attribute.
2.12. Enhanced: simple paged results
Simple paged results break search results into smaller chunks, with a certain number of results per page, to make it easier to read and browse search results.
This update allows simple paged results (an
ldapsearch control) to be combined with server-side sorting on results (another ldapsearch control).
2.13. Enhanced: Tracking Changes by Bind DN
In previous versions of Directory Server, whenever an entry was created or modified, there was an operational attribute added to the entry with the modifying entry's name. However, the
creatorsName and modifiersName attributes only showed whatever entry directly edited the entry. If an entry was edited through a plug-in — such as the MemberOf Plug-in updating a user entry when a group entry is edited — then the modifiersName attribute showed the plug-in name — but not the identity of whatever user triggered the plug-in operation.
The new
internalModifiersName operational attribute shows the name of whatever Directory Server plug-in performed an operation, while the modifiersName attribute now reflects whatever bound user initiated the operation.
dn: uid=bjensen,ou=people,dc=example,dc=com ... modifiersname: uid=jsmith,ou=people,dc=example,dc=com internalModifiersname: cn=memberof plugin,cn=plugins,cn=config
Tracking the bind DN is enabled by setting the
nsslapd-plugin-binddn-tracking configuration attribute.
2.14. Enhanced: Synchronization of Posix Attributes
On Linux systems, system users and groups are identified as Posix entries, and LDAP Posix attributes contain that required information. When Windows users are synced over, they have
ntUser and ntGroup attributes automatically added which identify them as Windows accounts. However, by default, no Posix attributes are synced over (even if they exist on the Active Directory entry) and no Posix attributes are added on the Directory Server side.
The new Posix Winsync API Plug-in synchronizes Posix attributes set on Active Directory over to the corresponding Directory Server entry.
Note
Syncing Posix attributes is uni-directional. It syncs Posix attributes from Active Directory entries to Directory Server entries. An Posix attributes added or modified on a Directory Server entry are not synced over to the corresponding Active Directory entry.
2.15. Enhanced: Support for IPv6 for Additional Directory Operations
Initial support for IPv6 addresses was added in Red Hat Directory Server 9.0, but not all directory operations could be performed over IPv6. This update extends IPv6 support to the remaining directory tasks, including replication, installation, chaining databases, and access control instructions.
Note
Note that the Windows Console provided as part of Red Hat Directory Server does not support IPv6-only networks.
2.16. New: Configuration for Disk Monitoring
If the disk space on the system where the Directory Server is running reaches a critical point, the
slapd process can crash and, potentially, corrupt the directory database and lose information.
These updates to Directory Server introduce the ability to monitor disk space in the partition or mount point where the
slapd process is running. If the disk space reaches an administrator-defined threshold, then the slapd process shuts down gracefully — preserving the database and directory data.
A new set of configuration options,
nsslapd-disk-monitoring*, set whether disk monitoring is enabled for the slapd process and the disk space thresholds, grace periods for disk space warnings, and whether to lower logging levels and disable logging before shutting down the server.
2.17. Enhanced: Disabling Legacy-Style Password Lockouts
There are different ways of interpreting when the maximum password failure (
passwordMaxFailure) has been reached. It depends on how the server counts the last failed attempt in the overall failure count.
The traditional behavior for LDAP clients is to assume that the failure occurs after the limit has been reached. So, if the failure limit is set to three, then the lockout happens at the fourth failed attempt. This also means that if the fourth attempt is successful, then the user can authenticate successfully, even though the user technically hit the failure limit. This is basically n+1 on the count.
LDAP clients increasingly expect the maximum failure limit to look at the last failed attempt in the count as the final attempt. So, if the failure limit is set to three, then at the third failure, the account is locked. A fourth attempt, even with the correct credentials, fails. This is n on the count.
A new attribute,
passwordLegacyPolicy, is available in Red Hat Directory Server to disable the legacy password policy behavior and allow newer LDAP clients to interact properly with password policies in Directory Server.
2.18. Enhanced: Support for PLAIN Mechanism with SASL Authentication
Support has been added for the PLAIN mechanism with SASL authentication. While not recommended for most situations, SASL/PLAIN can be useful for anonymous connections or for times when a UID, rather than a DN, is used for authentication.
2.19. Enhanced: Changed DNA Plug-in Configuration
Previously, the Distributed Number Assignment (DNA) Plug-in was configured in a plug-in entry with the
extensibleObject object class. The schema has been enhanced so that there is a new, plug-in specific object class called dnaPluginConfig.
2.20. Enhanced: Rejecting Modifications to Specified Attributes for Replication
Changes to some attributes may not represent real changes to an entry — such as an automatic change to the modify timestamp attribute from a plug-in, when no other attributes were modified.
To reduce replication load and to improve the performance of some applications, it is beneficial to ignore changes to those attributes when replicating entries. A list of attributes can be configured which can be ignored when the server evaluates entries to enter into the changelog and trigger replication. This list is defined in the
nsds5ReplicaStripAttrs attribute on the replication agreement entry.
2.21. Enhanced: Setting TLSv1 for Secure Connections
Previously, both SSL encryption and TLS encryption were set together and defined with the same (SSL-specific) attributes. A new attribute,
nsTLS1, has been introduced which enables TLS connections, independently of SSL connections. This allows the stronger TLS protocol to be used and SSL to be disabled.
2.22. Enhanced: Performing MemberOf Evaluations Across Backends
Previously, the MemberOf Plug-in evaluated group membership based solely on groups and users defined within the local backend. For distributed deployments, this meant that group membership was incompletely evaluated because there could well be identities in a different subsuffix than a group it belongs to.
A new plug-in attribute has been added,
memberOfAllBackends, which sets whether the MemberOf Plug-in should evaluate the local suffix only or all subsuffixes for membership information. When set to on, the plug-in evaluates every suffix and backend.
2.23. Enhanced: Added nsslapd-readonly to External Schema
Previously, the
nssldap-readonly configuration attribute was not part of the external schema. The read-only setting is used by replication to signal whether the given server can accept modify operations from users (supplier) or whether it can only receive updates from a master server (consumer).
Because the
nsslapd-readonly attribute was not public, it could not be used in access control configuration, which meant that it was not possible to grant certain users the appropriate rights to manage replication without making them server administrators.
The
nsslapd-readonly attribute has been added to the external schema, so it can now be used to create ACIs.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.