Chapter 6. Plug-in implemented server functionality reference This chapter contains reference information on plug-ins. The configuration for each part of Directory Server plug-in functionality has its own separate entry and set of attributes under the subtree cn=plugins,cn=config . Some of these attributes are common to all plug-ins while others may be particular to a specific plug-in. You can check which attributes a given plug-in uses by performing an ldapsearch on the cn=config subtree. All plug-ins are instances of the nsSlapdPlugin object class inherited from the extensibleObject object class. Server takes into account plug-in configuration attributes when both object classes (in addition to the top object class) are present in the entry, as shown in the following example: 6.1. List of attributes common to all plug-ins This list provides a brief attribute description, the entry DN, valid range, default value, syntax, and an example for each attribute. Each Directory Server plug-in belongs to the nsslapdPlugin object class. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.41 Table 6.1. Required Attributes Attribute Definition objectClass Gives the object classes assigned to the entry. cn Gives the common name of the entry. nsslapd-pluginPath Identifies the plugin library name (without the library suffix). nsslapd-pluginInitfunc Identifies an initialization function of the plugin. nsslapd-pluginType Identifies the type of plugin. nsslapd-pluginId Identifies the plugin ID. nsslapd-pluginVersion Identifies the version of plugin. nsslapd-pluginVendor Identifies the vendor of plugin. nsslapd-pluginDescription Identifies the description of the plugin. nsslapd-pluginEnabled Identifies whether or not the plugin is enabled. nsslapd-pluginPrecedence Sets the priority for the plug-in in the execution order. 6.1.1. nsslapd-logAccess This attribute enables you to log search operations run by the plug-in to the file set in the nsslapd-accesslog parameter in cn=config . Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-logAccess: Off 6.1.2. nsslapd-logAudit This attribute enables you to log and audit modifications to the database originated from the plug-in. Successful modification events are logged in the audit log, if the nsslapd-auditlog-logging-enabled parameter is enabled in cn=config . To log failed modification database operations by a plug-in, enable the nsslapd-auditfaillog-logging-enabled attribute in cn=config . Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-logAudit: Off 6.1.3. nsslapd-pluginDescription This attribute provides a description of the plug-in. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Default Value None Syntax DirectoryString Example nsslapd-pluginDescription: acl access check plug-in 6.1.4. nsslapd-pluginEnabled This attribute specifies whether the plug-in is enabled. This attribute can be changed over protocol but will only take effect when the server is restarted. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsslapd-pluginEnabled: on 6.1.5. nsslapd-pluginId This attribute specifies the plug-in ID. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any valid plug-in ID Default Value None Syntax DirectoryString Example nsslapd-pluginId: chaining database 6.1.6. nsslapd-pluginInitfunc This attribute specifies the plug-in function to be initiated. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any valid plug-in function Default Value None Syntax DirectoryString Example nsslapd-pluginInitfunc: NS7bitAttr_Init 6.1.7. nsslapd-pluginPath This attribute specifies the full path to the plug-in. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any valid path Default Value None Syntax DirectoryString Example nsslapd-pluginPath: uid-plugin 6.1.8. nsslapd-pluginPrecedence This attribute sets the precedence or priority for the execution order of a plug-in. Precedence defines the execution order of plug-ins, which allows more complex environments or interactions since it can enable a plug-in to wait for a completed operation before being executed. This is more important for pre-operation and post-operation plug-ins. Plug-ins with a value of 1 have the highest priority and are run first; plug-ins with a value of 99 have the lowest priority. The default is 50. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values 1 to 99 Default Value 50 Syntax Integer Example nsslapd-pluginPrecedence: 3 6.1.9. nsslapd-pluginType This attribute specifies the plug-in type. See Section 6.2.4, "nsslapd-plugin-depends-on-type" for further information. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any valid plug-in type Default Value None Syntax DirectoryString Example nsslapd-pluginType: preoperation 6.1.10. nsslapd-pluginVendor This attribute specifies the vendor of the plug-in. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any approved plug-in vendor Default Value Red Hat, Inc. Syntax DirectoryString Example nsslapd-pluginVendor: Red Hat, Inc. 6.1.11. nsslapd-pluginVersion This attribute specifies the plug-in version. Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values Any valid plug-in version Default Value Product version number Syntax DirectoryString Example nsslapd-pluginVersion: {VER} 6.2. Optional attributes of certain plug-ins 6.2.1. nsslapd-dynamic-plugins You can enable some Directory Server plug-ins dynamically without the instance restart. Enable the nsslapd-dynamic-plugins attribute in Directory Server to allow the dynamic plug-ins. By default, dynamic plug-ins are disabled. Warning Red Hat Directory Server does not support dynamic plug-ins. Use it only for testing and debugging purposes. You cannot configure some plug-ins as dynamic. To enable such plug-ins, restart the instance. Plug-in Parameter Description Entry DN cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-dynamic-plugins: on 6.2.2. nsslapd-pluginConfigArea Some plug-in entries are container entries, and multiple instances of the plug-in are created beneath this container in cn=plugins,cn=config . However, the cn=plugins,cn=config is not replicated, which means that the plug-in configurations beneath those container entries must be configured manually, in some way, on every Directory Server instance. The nsslapd-pluginConfigArea attribute points to another container entry, in the main database area, which contains the plug-in instance entries. This container entry can be in a replicated database, which allows the plug-in configuration to be replicated. Plug-in Parameter Description Entry DN cn= plug-in name ,cn=plugins,cn=config Valid Values Any valid DN Default Value Syntax DN Example nsslapd-pluginConfigArea: cn=managed entries container,ou=containers,dc=example,dc=com 6.2.3. nsslapd-plugin-depends-on-named Multi-valued attribute used to ensure that plug-ins are called by the server in the correct order. Takes a value which corresponds to the cn value of a plug-in. The plug-in with a cn value matching one of the following values will be started by the server prior to this plug-in. If the plug-in does not exist, the server fails to start. The following postoperation Referential Integrity Plug-in example shows that the Views plug-in is started before Roles. If Views is missing, the server is not going to start. Plug-in Parameter Description Entry DN cn=referential integrity postoperation,cn=plugins,cn=config Valid Values Class of Service Default Value Syntax DirectoryString Example * nsslapd-plugin-depends-on-named: Views * nsslapd-pluginId: roles 6.2.4. nsslapd-plugin-depends-on-type Multi-valued attribute used to ensure that plug-ins are called by the server in the correct order. Takes a value which corresponds to the type number of a plug-in, contained in the attribute nsslapd-pluginType . See Section 6.1.9, "nsslapd-pluginType" for further information. All plug-ins with a type value which matches one of the values in the following valid range will be started by the server prior to this plug-in. The following postoperation Referential Integrity Plug-in example shows that the database plug-in will be started prior to the postoperation Referential Integrity Plug-in. Plug-in Parameter Description Entry DN cn=referential integrity postoperation,cn=plugins,cn=config Valid Values database Default Value Syntax DirectoryString Example nsslapd-plugin-depends-on-type: database 6.2.5. nsslapd-pluginLoadGlobal This attribute specifies whether the symbols in dependent libraries are made visible locally ( false ) or to the executable and to all shared objects ( true ). Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values true | false Default Value false Syntax DirectoryString Example nsslapd-pluginLoadGlobal: false 6.2.6. nsslapd-pluginLoadNow This attribute specifies whether to load all of the symbols used by a plug-in immediately ( true ), as well as all symbols references by those symbols, or to load the symbol the first time it is used ( false ). Plug-in Parameter Description Entry DN cn=plug-in name,cn=plugins,cn=config Valid Values true | false Default Value false Syntax DirectoryString Example nsslapd-pluginLoadNow: false 6.3. Server plug-in functionality reference This section provides an overview of the plug-ins provided with Directory Server, along with their configurable options, configurable arguments, default setting, dependencies, general performance-related information, and further reading. 6.3.1. 7-bit Check plug-in Plug-in Parameter Description Plug-in ID NS7bitAtt DN of Configuration Entry cn=7-bit check,cn=plugins,cn=config Description Checks certain attributes are 7-bit clean Type preoperation Configurable Options on | off Default Setting on Configurable Arguments List of attributes ( uid mail userpassword ) followed by "," and then suffixes on which the check is to occur. Dependencies Database Performance-Related Information None Further Information If Directory Server uses non-ASCII characters, such as Japanese, turn this plug-in off. 6.3.2. Account Policy plug-in Account policies can be set that automatically lock an account after a certain amount of time has elapsed. This can be used to create temporary accounts that are only valid for a preset amount of time or to lock users which have been inactive for a certain amount of time. The Account Policy Plug-in itself only accept on argument, which points to a plug-in configuration entry. dn: cn=Account Policy Plugin,cn=plugins,cn=config ... nsslapd-pluginarg0: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config The account policy configuration entry defines, for the entire server, what attributes to use for account policies. Most of the configuration defines attributes to use to evaluate account policies and expiration times, but the configuration also defines what object class to use to identify subtree-level account policy definitions. dn: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config objectClass: top objectClass: extensibleObject cn: config ... attributes for evaluating accounts ... alwaysRecordLogin: yes stateattrname: lastLoginTime altstateattrname: createTimestamp ... attributes for account policy entries ... specattrname: acctPolicySubentry limitattrname: accountInactivityLimit One the plug-in is configured globally, account policy entries can be created within the user subtrees, and then these policies can be applied to users and to roles through classes of service. Example 6.1. Account Policy Definition dn: cn=AccountPolicy,dc=example,dc=com objectClass: top objectClass: ldapsubentry objectClass: extensibleObject objectClass: accountpolicy # 86400 seconds per day * 30 days = 2592000 seconds accountInactivityLimit: 2592000 cn: AccountPolicy Any entry, both individual users and roles or CoS templates, can be an account policy subentry. Every account policy subentry has its creation and login times tracked against any expiration policy. Example 6.2. User Account with Account Policy dn: uid=scarter,ou=people,dc=example,dc=com ... lastLoginTime: 20060527001051Z acctPolicySubentry: cn=AccountPolicy,dc=example,dc=com Plug-in Parameter Description Plug-in ID none DN of Configuration Entry cn=Account Policy Plugin,cn=plugins,cn=config Description Defines a policy to lock user accounts after a certain expiration period or inactivity period. Type object Configurable Options on | off Default Setting off Configurable Arguments A pointer to a configuration entry which contains the global account policy settings. Dependencies Database Performance-Related Information None Further Information This plug-in configuration points to a configuration entry which is used for server-wide settings on account inactivity and expiration data. Individual (subtree-level or user-level) account policies can be defined as directory entries, as instances of the acctPolicySubentry object class. These configuration entries can then be applied to users or roles through classes of service. 6.3.2.1. altstateattrname Account expiration policies are based on some timed criteria for the account. For example, for an inactivity policy, the primary criteria may be the last login time, lastLoginTime . However, there may be instances where that attribute does not exist on an entry, such as a user who never logged into his account. The altstateattrname attribute provides a backup attribute for the server to reference to evaluate the expiration time. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range Any time-based entry attribute Default Value None Syntax DirectoryString Example altstateattrname: createTimeStamp 6.3.2.2. alwaysRecordLogin By default, only entries which have an account policy directly applied to them - meaning, entries with the acctPolicySubentry attribute - have their login times tracked. If account policies are applied through classes of service or roles, then the acctPolicySubentry attribute is on the template or container entry, not the user entries themselves. The alwaysRecordLogin attribute sets that every entry records its last login time. This allows CoS and roles to be used to apply account policies. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range yes | no Default Value no Syntax DirectoryString Example alwaysRecordLogin: no 6.3.2.3. alwaysRecordLoginAttr The Account Policy plug-in uses the attribute name set in the alwaysRecordLoginAttr parameter to store the time of the last successful login in this attribute in the user's directory entry. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range Any valid attribute name Default Value stateAttrName Syntax DirectoryString Example alwaysRecordLoginAttr: lastLoginTime 6.3.2.4. lastLoginHistSize To maintain a history of successful logins, you can use the lastLoginHistSize attribute that determines the number of logins to store and stores the last five successful logins by default. For the lastLoginHistSize attribute to stores the last logins, you must enable the alwaysRecordLogin attribute. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range 0 (Disable) to the maximum 32 bit integer value (2147483647) Default Value 5 Syntax Integer Example lastloginhistorysize: 10 6.3.2.5. limitattrname The account policy entry in the user directory defines the time limit for the account lockout policy. This time limit can be set in any time-based attribute, and a policy entry could have multiple time-based attributes in ti. The attribute within the policy to use for the account inactivation limit is defined in the limitattrname attribute in the Account Policy Plug-in, and it is applied globally to all account policies. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range Any time-based entry attribute Default Value None Syntax DirectoryString Example limitattrname: accountInactivityLimit 6.3.2.6. specattrname There are really two configuration entries for an account policy: the global settings in the plug-in configuration entry and then yser- or subtree-level settings in an entry within the user directory. An account policy can be set directly on a user entry or it can be set as part of a CoS or role configuration. The way that the plug-in identifies which entries are account policy configuration entries is by identifying a specific attribute on the entry which flags it as an account policy. This attribute in the plug-in configuration is is specattrname ; its will usually be set to acctPolicySubentry . Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range Any time-based entry attribute Default Value None Syntax DirectoryString Example specattrname: acctPolicySubentry 6.3.2.7. stateattrname Account expiration policies are based on some timed criteria for the account. For example, for an inactivity policy, the primary criteria may be the last login time, lastLoginTime . The primary time attribute used to evaluate an account policy is set in the stateattrname attribute. Parameter Description Entry DN cn=config,cn=Account Policy Plugin,cn=plugins,cn=config Valid Range Any time-based entry attribute Default Value None Syntax DirectoryString Example stateattrname: lastLoginTime 6.3.3. Account Usability plug-in Plug-in Parameter Description Plug-in ID acctusability DN of Configuration Entry cn=Account Usability Plugin,cn=plugins,cn=config Description Checks the authentication status, or usability, of an account without actually authenticating as the given user Type preoperation Configurable Options on | off Default Setting on Dependencies Database Performance-Related Information None 6.3.4. ACL plug-in Plug-in Parameter Description Plug-in ID acl DN of Configuration Entry cn=ACL Plugin,cn=plugins,cn=config Description ACL access check plug-in Type accesscontrol Configurable Options on | off Default Setting on Configurable Arguments None Dependencies Database Performance-Related Information Access control incurs a minimal performance hit. Leave this plug-in enabled since it is the primary means of access control for the server. 6.3.5. ACL Preoperation plug-in Plug-in Parameter Description Plug-in ID acl DN of Configuration Entry cn=ACL preoperation,cn=plugins,cn=config Description ACL access check plug-in Type preoperation Configurable Options on | off Default Setting on Configurable Arguments None Dependencies Database Performance-Related Information Access control incurs a minimal performance hit. Leave this plug-in enabled since it is the primary means of access control for the server. 6.3.6. AD DN plug-in The AD DN plug-in supports multiple domain configurations. Create one configuration entry for each domain. Plug-in Parameter Description Plug-in ID addn DN of Configuration Entry cn=addn,cn=plugins,cn=config Description Enables the usage of Active Directory-formatted user names, such as user_name and user_name @ domain , for bind operations. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments addn_default_domain : Sets the default domain that is automatically appended to user names without domain. Dependencies None Performance-Related Information None 6.3.6.1. addn_base Sets the base DN under which Directory Server searches the user's DN. Parameter Description Entry DN cn= domain_name ,cn=addn,cn=plugins,cn=config Valid Entry Any valid DN Default Value None Syntax DirectoryString Example addn_base: ou=People,dc=example,dc=com 6.3.6.2. addn_filter Sets the search filter. Directory Server replaces the %s variable automatically with the non-domain part of the authenticating user. For example, if the user name in the bind is user_name@example.com , the filter searches the corresponding DN which is (&(objectClass=account)(uid=user_name)) . Parameter Description Entry DN cn= domain_name ,cn=addn,cn=plugins,cn=config Valid Entry Any valid DN Default Value None Syntax DirectoryString Example addn_filter: (&(objectClass=account)(uid=%s)) 6.3.6.3. cn Sets the domain name of the configuration entry. The plug-in uses the domain name from the authenticating user name to select the corresponding configuration entry. Parameter Description Entry DN cn= domain_name ,cn=addn,cn=plugins,cn=config Valid Entry Any string Default Value None Syntax DirectoryString Example cn: example.com 6.3.7. Alias Entries plug-in The Alias Entries plug-in checks the base entry for the object class alias and the aliasedObjectName attribute that contains a DN to another entry (an alias to another entry). During a search, the plug-in modifies the search base DN to this aliased DN. The Alias Entries plug-in supports only base level searches. Use the ldapsearch -a find command to retrieve entries with aliases. For the plug-in to return the aliased entry, the base entry must contain the following information: The alias object class. The aliasedObjectName attribute (known as the aliasedEntryName attribute in X.500) with a DN value pointing to another entry. Directory Server can return to the client the following errors: Error 32 (no such object) if the alias DN is missing. Error 53 (unwilling to perform) if the search is a non-base level search. Dereferencing is the conversion of an alias name to an object name. The process may require the examination of more than one alias entry. An alias entry may point to an entry that is not a leaf entry. An entry in the DIT may have multiple alias names, and several alias entries may point to the same entry. Example 6.3. An Entry with an alias dn: cn=Barbara Jensen,ou=Engineering,dc=example,dc=com objectClass: top objectClass: alias objectClass: extensibleObject cn: Barbara Jensen aliasedObjectName: cn=Barbara Smith,ou=Engineering,dc=example,dc=com Plug-in Parameter Description Plug-in ID Alias Entries DN of Configuration Entry cn=Alias Entries, cn=plugins, cn=config Description Checks the base entry for alias object class and aliasedObjectName attribute, during base level searches Type object Configurable Options on | off Default Setting off Configurable Arguments Alias entries belong to the alias object class. The aliasedObjectName attribute stores the DN of the entry that an alias points to. Dependencies Database Performance-Related Information Every alias entry must belong to the alias object class and have no subordinates. Further Information The aliasedObjectName attribute is known as the aliasedEntryName attribute in X.500. The distinguishedNameMatch matching rule and the DistinguishedName syntax are defined in RFC 4517 . 6.3.8. Attribute Uniqueness plug-in The Attribute Uniqueness plug-in ensures that the value of an attribute is unique across the directory or subtree. Plug-in Parameter Description Plug-in ID NSUniqueAttr DN of Configuration Entry cn=Attribute Uniqueness,cn=plugins,cn=config Description Checks that the values of specified attributes are unique each time a modification occurs on an entry. For example, most sites require that a user ID and email address be unique. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments To check for UID attribute uniqueness in all listed subtrees, enter uid "DN" "DN"... . However, to check for UID attribute uniqueness when adding or updating entries with the requiredObjectClass , enter attribute="uid" MarkerObjectclass = "ObjectClassName" and, optionally requiredObjectClass = "ObjectClassName" . This starts checking for the required object classes from the parent entry containing the ObjectClass as defined by the MarkerObjectClass attribute. Dependencies Database Performance-Related Information Directory Server provides the UID Uniqueness Plug-in by default. To ensure unique values for other attributes, create instances of the Attribute Uniqueness Plug-in for those attributes. The UID Uniqueness Plug-in is off by default due to operation restrictions that need to be addressed before enabling the plug-in in a multi-supplier replication environment. Turning the plug-in on may slow down Directory Server performance. 6.3.8.1. cn Sets the name of the Attribute Uniqueness plug-in configuration record. You can use any string, but Red Hat recommends naming the configuration record attribute_name Attribute Uniqueness . Parameter Description Entry DN cn= attribute_uniqueness_configuration_record_name ,cn=plugins,cn=config Valid Values Any valid string Default Value None Syntax DirectoryString Example cn: mail Attribute Uniqueness 6.3.8.2. uniqueness-across-all-subtrees If enabled ( on ), the plug-in checks that the attribute is unique across all subtrees set. If you set the attribute to off , uniqueness is only enforced within the subtree of the updated entry. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example uniqueness-across-all-subtrees: off 6.3.8.3. uniqueness-attribute-name Sets the name of the attribute whose values must be unique. This attribute is multi-valued. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values Any valid attribute name Default Value None Syntax DirectoryString Example uniqueness-attribute-name: mail 6.3.8.4. uniqueness-exclude-subtrees Sets the DN under which the plug-in skips uniqueness verification of the attribute's value. This attribute is multi-valued. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values Any valid subtree DN Default Value None Syntax DirectoryString Example uniqueness-exclude-subtrees: dc=private,dc=people,dc=example,dc=com 6.3.8.5. uniqueness-subtree-entries-oc Optionally, when using the uniqueness-top-entry-oc parameter, you can configure that the Attribute Uniqueness plug-in only verifies if an attribute is unique, if the entry contains the object class set in this parameter. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values Any valid object class Default Value None Syntax DirectoryString Example uniqueness-subtree-entries-oc: inetOrgPerson 6.3.8.6. uniqueness-subtrees Sets the DN under which the plug-in checks for uniqueness of the attribute's value. This attribute is multi-valued. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values Any valid subtree DN Default Value None Syntax DirectoryString Example uniqueness-subtrees: ou=Sales,dc=example,dc=com 6.3.8.7. uniqueness-top-entry-oc Directory Server searches this object class in the parent entry of the updated object. If it was not found, the search continues at the higher level entry up to the root of the directory tree. If the object class was found, Directory Server verifies that the value of the attribute set in uniqueness-attribute-name is unique in this subtree. Parameter Description Entry DN cn= attribute_uniqueness_configuration_entry_name ,cn=plugins,cn=config Valid Values Any valid object class Default Value None Syntax DirectoryString Example uniqueness-top-entry-oc: nsContainer 6.3.9. Auto Membership plug-in Automembership essentially allows a static group to act like a dynamic group. Different automembership definitions create searches that are automatically run on all new directory entries. The automembership rules search for and identify matching entries - much like the dynamic search filters - and then explicitly add those entries as members to the specified static group. The Auto Membership Plug-in itself is a container entry. Each automember definition is a child of the Auto Membership Plug-in. The automember definition defines the LDAP search base and filter to identify entries and a default group to add them to. dn: cn=Hostgroups,cn=Auto Membership Plugin,cn=plugins,cn=config objectclass: autoMemberDefinition cn: Hostgroups autoMemberScope: dc=example,dc=com autoMemberFilter: objectclass=ipHost autoMemberDefaultGroup: cn=systems,cn=hostgroups,ou=groups,dc=example,dc=com autoMemberGroupingAttr: member:dn Each automember definition can have its own child entry that defines additional conditions for assigning the entry to group. Regular expressions can be used to include or exclude entries and assign them to specific groups based on those conditions. dn: cn=webservers,cn=Hostgroups,cn=Auto Membership Plugin,cn=plugins,cn=config objectclass: autoMemberRegexRule description: Group for webservers cn: webservers autoMemberTargetGroup: cn=webservers,cn=hostgroups,dc=example,dc=com autoMemberInclusiveRegex: fqdn=^www\.web[0-9]+\.example\.com If the entry matches the main definition and not any of the regular expression conditions, then it uses the group in the main definition. If it matches a regular expression condition, then it is added to the regular expression condition group. Plug-in Parameter Description Plug-in ID Auto Membership DN of Configuration Entry cn=Auto Membership,cn=plugins,cn=config Description Container entry for automember definitions. Automember definitions search new entries and, if they match defined LDAP search filters and regular expression conditions, add the entry to a specified group automatically. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments None for the main plug-in entry. The definition entry must specify an LDAP scope, LDAP filter, default group, and member attribute format. The optional regular expression child entry can specify inclusive and exclusive expressions and a different target group. Dependencies Database Performance-Related Information None. 6.3.9.1. autoMemberDefaultGroup This attribute sets a default or fallback group to add the entry to as a member. If only the definition entry is used, then this is the group to which all matching entries are added. If regular expression conditions are used, then this group is used as a fallback if an entry which matches the LDAP search filter do not match any of the regular expressions. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any existing Directory Server group Default Value None Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberDefaultGroup: cn=hostgroups,ou=groups,dc=example,dc=com 6.3.9.2. autoMemberDefinition (object class) This attribute identifies the entry as an automember definition. This entry must be a child of the Auto Membership Plug-in, cn=Auto Membership Plugin,cn=plugins,cn=config . Allowed Attributes autoMemberScope autoMemberFilter autoMemberDefaultGroup autoMemberGroupingAttr 6.3.9.3. autoMemberExclusiveRegex This attribute sets a single regular expression to use to identify entries to exclude . If an entry matches the exclusion condition, then it is not included in the group. Multiple regular expressions could be used, and if an entry matches any one of those expressions, it is excluded in the group. The format of the expression is a Perl-compatible regular expression (PCRE). For more information on PCRE patterns, see the pcresyntax(3) man page . Note Exclude conditions are evaluated first and take precedence over include conditions. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any regular expression Default Value None Single- or Multi-Valued Multi-valued Syntax DirectoryString Example autoMemberExclusiveRegex: fqdn=^www\.web[0-9]+\.example\.com 6.3.9.4. autoMemberFilter This attribute sets a standard LDAP search filter to use to search for matching entries. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any valid LDAP search filter Default Value None Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberFilter:objectclass=ntUser 6.3.9.5. autoMemberGroupingAttr This attribute gives the name of the member attribute in the group entry and the attribute in the object entry that supplies the member attribute value, in the format group_member_attr:entry_attr . This structures how the Automembership Plug-in adds a member to the group, depending on the group configuration. For example, for a groupOfUniqueNames user group, each member is added as a uniqueMember attribute. The value of uniqueMember is the DN of the user entry. In essence, each group member is identified by the attribute-value pair of uniqueMember: user_entry_DN . The member entry format, then, is uniqueMember:dn . Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any Directory Server attribute Default Value None Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberGroupingAttr: member:dn 6.3.9.6. autoMemberInclusiveRegex This attribute sets a single regular expression to use to identify entries to include . Multiple regular expressions could be used, and if an entry matches any one of those expressions, it is included in the group (assuming it does not match an exclude expression). The format of the expression is a Perl-compatible regular expression (PCRE). For more information on PCRE patterns, see the pcresyntax(3) man page . Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any regular expression Default Value None Single- or Multi-Valued Multi-valued Syntax DirectoryString Example autoMemberInclusiveRegex: fqdn=^www\.web[0-9]+\.example\.com 6.3.9.7. autoMemberProcessModifyOps By default, Directory Server invokes the Automembership plug-in for add and modify operations. With this setting, the plug-in changes groups when you add a group entry to a user or modify a group entry of a user. If you set the autoMemberProcessModifyOps to off , Directory Server only invokes the Automembership plug-in when you add a group entry to a user. In this case, if an administrator changes a user entry, and that entry impactes what Automembership groups the user belongs to, the plug-in does not remove the user from the old group and only adds the new group. To update the old group, you must then manually run a fix-up task. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Values on | off Default Value on Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberProcessModifyOps: on 6.3.9.8. autoMemberRegexRule (object class) This attribute identifies the entry as a regular expression rule. This entry must be a child of an automember definition ( objectclass: autoMemberDefinition ). Allowed Attributes autoMemberInclusiveRegex autoMemberExclusiveRegex autoMemberTargetGroup 6.3.9.9. autoMemberScope This attribute sets the subtree DN to search for entries. This is the search base. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any Directory Server subtree Default Value None Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberScope: dc=example,dc=com 6.3.9.10. autoMemberTargetGroup This attribute sets which group to add the entry to as a member, if it meets the regular expression conditions. Parameter Description Entry DN cn=Auto Membership Plugin,cn=plugins,cn=config Valid Range Any Directory Server group Default Value None Single- or Multi-Valued Single Syntax DirectoryString Example autoMemberTargetGroup: cn=webservers,cn=hostgroups,ou=groups,dc=example,dc=com 6.3.10. Binary Syntax plug-in Warning Binary syntax is deprecated. Use Octet String syntax instead. Plug-in Parameter Description Plug-in ID bin-syntax DN of Configuration Entry cn=Binary Syntax,cn=plugins,cn=config Description Syntax for handling binary data. Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.11. Bit String Syntax plug-in Plug-in Parameter Description Plug-in ID bitstring-syntax DN of Configuration Entry cn=Bit String Syntax,cn=plugins,cn=config Description Supports bit string syntax values and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.12. Bitwise plug-in Plug-in Parameter Description Plug-in ID bitwise DN of Configuration Entry cn=Bitwise Plugin,cn=plugins,cn=config Description Matching rule for performing bitwise operations against the LDAP server Type matchingrule Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.13. Boolean Syntax plug-in Plug-in Parameter Description Plug-in ID boolean-syntax DN of Configuration Entry cn=Boolean Syntax,cn=plugins,cn=config Description Supports boolean syntax values (TRUE or FALSE) and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.14. Case Exact String Syntax plug-in Plug-in Parameter Description Plug-in ID ces-syntax DN of Configuration Entry cn=Case Exact String Syntax,cn=plugins,cn=config Description Supports case-sensitive matching or Directory String, IA5 String, and related syntaxes. This is not a case-exact syntax; this plug-in provides case-sensitive matching rules for different string syntaxes. Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.15. Case Ignore String Syntax plug-in Plug-in Parameter Description Plug-in ID directorystring-syntax DN of Configuration Entry cn=Case Ignore String Syntax,cn=plugins,cn=config Description Supports case-insensitive matching rules for Directory String, IA5 String, and related syntaxes. This is not a case-insensitive syntax; this plug-in provides case-sensitive matching rules for different string syntaxes. Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.16. Chaining Database plug-in Plug-in Parameter Description Plug-in ID chaining database DN of Configuration Entry cn=Chaining database,cn=plugins,cn=config Description Enables back end databases to be linked Type database Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information There are many performance related tuning parameters involved with the chaining database. Further Information A chaining database is also known as a database link . 6.3.17. Class of Service plug-in Plug-in Parameter Description Plug-in ID cos DN of Configuration Entry cn=Class of Service,cn=plugins,cn=config Description Allows for sharing of attributes between entries Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies * Type: Database * Named: State Change Plug-in * Named: Views Plug-in Performance-Related Information Do not modify the configuration of this plug-in. Leave this plug-in running at all times. 6.3.18. Content Synchronization plug-in Plug-in Parameter Description Plug-in ID content-sync-plugin DN of Configuration Entry cn=Content Synchronization,cn=plugins,cn=config Description Enables support for the SyncRepl protocol in Directory Server according to RFC 4533 . Type object Configurable Options on | off Default Setting off Configurable Arguments None Dependencies Retro Changelog plug-in Performance-Related Information If you know which back end or subtree clients access to synchronize data, limit the scope of the Retro Changelog plug-in accordingly. 6.3.19. Country String Syntax plug-in Plug-in Parameter Description Plug-in ID countrystring-syntax DN of Configuration Entry cn=Country String Syntax,cn=plugins,cn=config Description Supports country naming syntax values and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.20. Delivery Method Syntax plug-in Plug-in Parameter Description Plug-in ID delivery-syntax DN of Configuration Entry cn=Delivery Method Syntax,cn=plugins,cn=config Description Supports values that are lists of preferred deliver methods and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.21. deref plug-in Plug-in Parameter Description Plug-in ID Dereference DN of Configuration Entry cn=deref,cn=plugins,cn=config Description For dereference controls in directory searches Type preoperation Configurable Options on | off Default Setting on Configurable Arguments None Dependencies Database Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.22. Distinguished Name Syntax plug-in Plug-in Parameter Description Plug-in ID dn-syntax DN of Configuration Entry cn=Distinguished Name Syntax,cn=plugins,cn=config Description Supports DN value syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.23. Distributed Numeric Assignment plug-in The Distributed Numeric Assignment Plug-in manages ranges of numbers and assigns unique numbers within that range to entries. By breaking number assignments into ranges, the Distributed Numeric Assignment Plug-in allows multiple servers to assign numbers without conflict. The plug-in also manages the ranges assigned to servers, so that if one instance runs through its range quickly, it can request additional ranges from the other servers. Distributed numeric assignment can be configured to work with single attribute types or multiple attribute types, and is only applied to specific suffixes and specific entries within the subtree. Distributed numeric assignment is handled per-attribute and is only applied to specific suffixes and specific entries within the subtree. Plug-in Information Description Plug-in ID Distributed Numeric Assignment Configuration Entry DN cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Description Distributed Numeric Assignment plugin Type preoperation Configurable Options on | off Default Setting off Configurable Arguments Dependencies Database Performance-Related Information None 6.3.23.1. dnaFilter This attribute sets an LDAP filter to use to search for and identify the entries to which to apply the distributed numeric assignment range. The dnaFilter attribute is required to set up distributed numeric assignment for an attribute. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any valid LDAP filter Default Value None Syntax DirectoryString Example dnaFilter: (objectclass=person) 6.3.23.2. dnaHostname This attribute identifies the host name of a server in a shared range, as part of the DNA range configuration for that specific host in multi-supplier replication. Available ranges are tracked by host and the range information is replicated among all suppliers so that if any supplier runs low on available numbers, it can use the host information to contact another supplier and request an new range. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Syntax DirectoryString Valid Range Any valid host name Default Value None Example dnahostname: ldap1.example.com 6.3.23.3. dnaInterval This attribute sets an interval to use to increment through numbers in a range. Essentially, this skips numbers at a predefined rate. If the interval is 3 and the first number in the range is 1 , the number used in the range is 4 , then 7 , then 10 , incrementing by three for every new number assignment. In a replication environment, the dnaInterval enables multiple servers to share the same range. However, when you configure different servers that share the same range, set the dnaInterval and dnaNextVal parameters accordingly so that the different servers do not generate the same values. You must also consider this if you add new servers to the replication topology. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any integer Default Value 1 Syntax Integer Example dnaInterval: 1 6.3.23.4. dnaMagicRegen This attribute sets a user-defined value that instructs the plug-in to assign a new value for the entry. The magic value can be used to assign new unique numbers to existing entries or as a standard setting when adding new entries. The magic entry should be outside of the defined range for the server so that it cannot be triggered by accident. Note that this attribute does not have to be a number when used on a DirectoryString or other character type. However, in most cases the DNA plug-in is used on attributes which only accept integer values, and in such cases the dnamagicregen value must also be an integer. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any string Default Value None Syntax DirectoryString Example dnaMagicRegen: -1 6.3.23.5. dnaMaxValue This attribute sets the maximum value that can be assigned for the range. The default is -1 , which is the same as setting the highest 64-bit integer. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range 1 to the maximum 32-bit integer on 32-bit systems and to the maximum 64-bit integer on 64-bit systems; -1 is unlimited Default Value -1 Syntax Integer Example dnaMaxValue: 1000 6.3.23.6. dnaNextRange This attribute defines the range to use when the current range is exhausted. This value is automatically set when range is transferred between servers, but it can also be manually set to add a range to a server if range requests are not used. The dnaNextRange attribute should be set explicitly only if a separate, specific range has to be assigned to other servers. Any range set in the dnaNextRange attribute must be unique from the available range for the other servers to avoid duplication. If there is no request from the other servers and the server where dnaNextRange is set explicitly has reached its set dnaMaxValue , the set of values (part of the dnaNextRange ) is allocated from this deck. The dnaNextRange allocation is also limited by the dnaThreshold attribute that is set in the DNA configuration. Any range allocated to another server for dnaNextRange cannot violate the threshold for the server, even if the range is available on the deck of dnaNextRange . Note If the dnaNextRange attribute is handled internally if it is not set explicitly. When it is handled automatically, the dnaMaxValue attribute serves as upper limit for the range. The attribute sets the range in the format lower_range-upper_range . Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range 1 to the maximum 32-bit integer on 32-bit systems and to the maximum 64-bit integer on 64-bit systems for the lower and upper ranges Default Value None Syntax DirectoryString Example dnaNextRange: 100-500 6.3.23.7. dnaNextValue This attribute gives the available number which can be assigned. After being initially set in the configuration entry, this attribute is managed by the Distributed Numeric Assignment Plug-in. The dnaNextValue attribute is required to set up distributed numeric assignment for an attribute. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range 1 to the maximum 32-bit integer on 32-bit systems and to the maximum 64-bit integer on 64-bit systems Default Value -1 Syntax Integer Example dnaNextValue: 1 6.3.23.8. dnaPluginConfig (object class) This object class is used for entries which configure the DNA plug-in and numeric ranges to assign to entries. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.324 Allowed Attributes dnaType dnaPrefix dnaNextValue dnaMaxValue dnaInterval dnaMagicRegen dnaFilter dnaScope dnaSharedCfgDN dnaThreshold dnaNextRange dnaRangeRequestTimeout cn 6.3.23.9. dnaPortNum This attribute gives the standard port number to use to connect to the host identified in dnaHostname . Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Syntax Integer Valid Range 0 to 65535 Default Value 389 Example dnaPortNum: 389 6.3.23.10. dnaPrefix This attribute defines a prefix that can be prepended to the generated number values for the attribute. For example, to generate a user ID such as user1000 , the dnaPrefix setting would be user . dnaPrefix can hold any kind of string. However, some possible values for dnaType (such as uidNumber and gidNumber ) require only integer values. To use a prefix string, consider using a custom attribute for dnaType which allows strings. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any string Default Value None Example dnaPrefix: id 6.3.23.11. dnaRangeRequestTimeout One potential situation with the Distributed Numeric Assignment Plug-in is that one server begins to run out of numbers to assign. The dnaThreshold attribute sets a threshold of available numbers in the range, so that the server can request an additional range from the other servers before it is unable to perform number assignments. The dnaRangeRequestTimeout attribute sets a timeout period, in seconds, for range requests so that the server does not stall waiting on a new range from one server and can request a range from a new server. For range requests to be performed, the dnaSharedCfgDN attribute must be set. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range 1 to the maximum 32-bit integer on 32-bit systems and to the maximum 64-bit integer on 64-bit systems Default Value 10 Syntax Integer Example dnaRangeRequestTimeout: 15 6.3.23.12. dnaRemainingValues This attribute contains the number of values that are remaining and available to a server to assign to entries. Parameter Description Entry DN dnaHostname= host_name +dnaPortNum= port_number ,ou=ranges,dc=example,dc=com Syntax Integer Valid Range Any integer Default Value None Example dnaRemainingValues: 1000 6.3.23.13. dnaRemoteBindCred Specifies the Replication Manager's password. If you set a bind method in the dnaRemoteBindMethod attribute that requires authentication, additionally set the dnaRemoteBindDN and dnaRemoteBindCred parameter for every server in the replication deployment in the plug-in configuration entry under the cn=config entry. Set the parameter in plain text. The value is automatically AES-encrypted before it is stored. A server restart is required for the change to take effect. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Syntax DirectoryString {AES} encrypted_password Valid Values Any valid AES-encrypted password. Default Value Example dnaRemoteBindCred: {AES-TUhNR0NTcUdTSWIzRFFFRkRUQm1NRVVHQ1NxR1NJYjNEUUVGRERBNEJDUmxObUk0WXpjM1l5MHdaVE5rTXpZNA0KTnkxaE9XSmhORGRoT0MwMk1ESmpNV014TUFBQ0FRSUNBU0F3Q2dZSUtvWklodmNOQWdjd0hRWUpZSVpJQVdVRA0KQkFFcUJCQk5KbUFDUWFOMHlITWdsUVp3QjBJOQ==}bBR3On6cBmw0DdhcRx826g== 6.3.23.14. dnaRemoteBindDN Specifies the Replication Manager DN. If you set a bind method in the dnaRemoteBindMethod attribute that requires authentication, additionally set the dnaRemoteBindDN and dnaRemoteBindCred parameter for every server in the replication deployment in the plug-in configuration under the cn=config entry. A server restart is required for the change to take effect. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Syntax DirectoryString Valid Values Any valid Replication Manager DN. Default Value Example dnaRemoteBindDN: cn=replication manager,cn=config 6.3.23.15. dnaRemoteBindMethod Specifies the remote bind method. If you set a bind method in this attribute that requires authentication, additionally set the dnaRemoteBindDN and dnaRemoteBindCred parameter for every server in the replication deployment in the plug-in configuration entry under the cn=config entry. A server restart is required for the change to take effect. Parameter Description Entry DN dnaHostname= host_name +dnaPortNum= port_number ,ou=ranges,dc=example,dc=com Syntax DirectoryString Valid Values SIMPLE | SSL | SASL/GSSAPI | SASL/DIGEST-MD5 Default Value Example dnaRemoteBindMethod: SIMPLE 6.3.23.16. dnaRemoteConnProtocol Specifies the remote connection protocol. A server restart is required for the change to take effect. Parameter Description Entry DN dnaHostname= host_name +dnaPortNum= port_number ,ou=ranges,dc=example,dc=com Syntax DirectoryString Valid Values LDAP , SSL , or TLS Default Value Example dnaRemoteConnProtocol: LDAP 6.3.23.17. dnaScope This attribute sets the base DN to search for entries to which to apply the distributed numeric assignment. This is analogous to the base DN in an ldapsearch . Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any Directory Server entry Default Value None Syntax DirectoryString Example dnaScope: ou=people,dc=example,dc=com 6.3.23.18. dnaSecurePortNum This attribute gives the secure (TLS) port number to use to connect to the host identified in dnaHostname . Parameter Description Entry DN dnaHostname= host_name +dnaPortNum= port_number ,ou=ranges,dc=example,dc=com Syntax Integer Valid Range 0 to 65535 Default Value 636 Example dnaSecurePortNum: 636 6.3.23.19. dnaSharedCfgDN This attribute defines a shared identity that the servers can use to transfer ranges to one another. This entry is replicated between servers and is managed by the plug-in to let the other servers know what ranges are available. This attribute must be set for range transfers to be enabled. Note The shared configuration entry must be configured in the replicated subtree, so that the entry can be replicated to the servers. For example, if the ou=People,dc=example,dc=com subtree is replicated, then the configuration entry must be in that subtree, such as ou=UID Number Ranges , ou=People,dc=example,dc=com . The entry identified by this setting must be manually created by the administrator. The server will automatically contain a sub-entry beneath it to transfer ranges. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any DN Default Value None Syntax DN Example dnaSharedCfgDN: cn=range transfer user,cn=config 6.3.23.20. dnaSharedConfig (object class) This object class is used to configure the shared configuration entry that is replicated between suppliers that are all using the same DNA plug-in configuration for numeric assignements. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.325 Allowed Attributes dnaHostname dnaPortNum dnaSecurePortNum dnaRemainingValues 6.3.23.21. dnaThreshold One potential situation with the Distributed Numeric Assignment Plug-in is that one server begins to run out of numbers to assign, which can cause problems. The Distributed Numeric Assignment Plug-in allows the server to request a new range from the available ranges on other servers. So that the server can recognize when it is reaching the end of its assigned range, the dnaThreshold attribute sets a threshold of remaining available numbers in the range. When the server hits the threshold, it sends a request for a new range. For range requests to be performed, the dnaSharedCfgDN attribute must be set. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range 1 to the maximum 32-bit integer on 32-bit systems and to the maximum 64-bit integer on 64-bit systems Default Value 100 Syntax Integer Example dnaThreshold: 100 6.3.23.22. dnaType This attribute sets which attributes have unique numbers being generated for them. In this case, whenever the attribute is added to the entry with the magic number, an assigned value is automatically supplied. This attribute is required to set a distributed numeric assignment for an attribute. If the dnaPrefix attribute is set, then the prefix value is prepended to whatever value is generated by dnaType . The dnaPrefix value can be any kind of string, but some reasonable values for dnaType (such as uidNumber and gidNumber ) require only integer values. To use a prefix string, consider using a custom attribute for dnaType which allows strings. Parameter Description Entry DN cn= DNA_config_entry ,cn=Distributed Numeric Assignment Plugin,cn=plugins,cn=config Valid Range Any Directory Server attribute Default Value None Example dnaType: uidNumber 6.3.24. Enhanced Guide Syntax plug-in Plug-in Parameter Description Plug-in ID enhancedguide-syntax DN of Configuration Entry cn=Enhanced Guide Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for creating complex criteria, based on attributes and filters, to build searches; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.25. Facsimile Telephone Number Syntax plug-in Plug-in Parameter Description Plug-in ID facsimile-syntax DN of Configuration Entry cn=Facsimile Telephone Number Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for fax numbers; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.26. Fax Syntax plug-in Plug-in Parameter Description Plug-in ID fax-syntax DN of Configuration Entry cn=Fax Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for storing images of faxed objects; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.27. Generalized Time Syntax plug-in Plug-in Parameter Description Plug-in ID time-syntax DN of Configuration Entry cn=Generalized Time Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for dealing with dates, times and time zones; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information The Generalized Time String consists of a four digit year, two digit month (for example, 01 for January), two digit day, two digit hour, two digit minute, two digit second, an optional decimal part of a second, and a time zone indication. Red Hat strongly recommends using the Z time zone indication, which indicates Greenwich Mean Time. See also RFC 4517 . 6.3.28. Guide Syntax plug-in Warning This syntax is deprecated. Use Enhanced Guide syntax instead. Plug-in Parameter Description Plug-in ID guide-syntax DN of Configuration Entry cn=Guide Syntax,cn=plugins,cn=config Description Syntax for creating complex criteria, based on attributes and filters, to build searches Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information This syntax is obsolete. The Enhanced Guide Syntax should be used instead. 6.3.29. HTTP Client plug-in Plug-in Parameter Description Plug-in ID http-client DN of Configuration Entry cn=HTTP Client,cn=plugins,cn=config Description HTTP client plug-in Type preoperation Configurable Options on | off Default Setting on Configurable Arguments None Dependencies Database Performance-Related Information 6.3.30. Integer Syntax plug-in Plug-in Parameter Description Plug-in ID int-syntax DN of Configuration Entry cn=Integer Syntax,cn=plugins,cn=config Description Supports integer syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.31. Internationalization plug-in Plug-in Parameter Description Plug-in ID orderingrule DN of Configuration Entry cn=Internationalization Plugin,cn=plugins,cn=config Description Enables internationalized strings to be ordered in the directory Type matchingrule Configurable Options on | off Default Setting on Configurable Arguments The Internationalization Plug-in has one argument, which must not be modified, which specifies the location of the /etc/dirsrv/config/slapd-collations.conf file. This file stores the collation orders and locales used by the Internationalization Plug-in. Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.32. JPEG Syntax plug-in Plug-in Parameter Description Plug-in ID jpeg-syntax DN of Configuration Entry cn=JPEG Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for JPEG image data; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.33. ldbm database plug-in Plug-in Parameter Description Plug-in ID ldbm-backend DN of Configuration Entry cn=ldbm database,cn=plugins,cn=config Description Implements local databases Type database Configurable Options Default Setting on Configurable Arguments None Dependencies * Syntax * matchingRule Performance-Related Information See Section 6.4, "Database plug-in attributes" for further information on database configuration. 6.3.34. Linked Attributes plug-in Many times, entries have inherent relationships to each other (such as managers and employees, document entries and their authors, or special groups and group members). While attributes exist that reflect these relationships, these attributes have to be added and updated on each entry manually. That can lead to a whimsically inconsistent set of directory data, where these entry relationships are unclear, outdated, or missing. The Linked Attributes Plug-in allows one attribute, set in one entry, to update another attribute in another entry automatically. The first attribute has a DN value, which points to the entry to update; the second entry attribute also has a DN value which is a back-pointer to the first entry. The link attribute which is set by users and the dynamically-updated "managed" attribute in the affected entries are both defined by administrators in the Linked Attributes Plug-in instance. Conceptually, this is similar to the way that the MemberOf Plug-in uses the member attribute in group entries to set memberOf attribute in user entries. Only with the Linked Attributes Plug-in, all of the link/managed attributes are user-defined and there can be multiple instances of the plug-in, each reflecting different link-managed relationships. There are a couple of caveats for linking attributes: Both the link attribute and the managed attribute must have DNs as values. The DN in the link attribute points to the entry to add the managed attribute to. The managed attribute contains the linked entry DN as its value. The managed attribute must be multi-valued. Otherwise, if multiple link attributes point to the same managed entry, the managed attribute value would not be updated accurately. Plug-in Parameter Description Plug-in ID Linked Attributes DN of Configuration Entry cn=Linked Attributes,cn=plugins,cn=config Description Container entry for linked-managed attribute configuration entries. Each configuration entry under the container links one attribute to another, so that when one entry is updated (such as a manager entry), then any entry associated with that entry (such as a custom directReports attribute) are automatically updated with a user-specified corresponding attribute. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments None for the main plug-in entry. Each plug-in instance has three possible attributes: * linkType, which sets the primary attribute for the plug-in to monitor * managedType, which sets the attribute which will be managed dynamically by the plug-in whenever the attribute in linkType is modified * linkScope, which restricts the plug-in activity to a specific subtree within the directory tree Dependencies Database Performance-Related Information Any attribute set in linkType must only allow values in a DN format. Any attribute set in managedType must be multi-valued. 6.3.34.1. linkScope This restricts the scope of the plug-in, so it operates only in a specific subtree or suffix. If no scope is given, then the plug-in will update any part of the directory tree. Parameter Description Entry DN cn= plugin_instance ,cn=Linked Attributes,cn=plugins,cn=config Valid Range Any DN Default Value None Syntax DN Example linkScope: ou=People,dc=example,dc=com 6.3.34.2. linkType This sets the user-managed attribute. This attribute is modified and maintained by users, and then when this attribute value changes, the linked attribute is automatically updated in the targeted entries. Parameter Description Entry DN cn= plugin_instance ,cn=Linked Attributes,cn=plugins,cn=config Valid Range Any Directory Server attribute Default Value None Syntax DirectoryString Example linkType: directReport 6.3.34.3. managedType This sets the managed, or plug-in maintained, attribute. This attribute is managed dynamically by the Linked Attributes Plug-in instance. Whenever a change is made to the managed attribute, then the plug-in updates all of the linked attributes on the targeted entries. Parameter Description Entry DN cn= plugin_instance ,cn=Linked Attributes,cn=plugins,cn=config Valid Range Any Directory Server attribute Default Value None Syntax DN Example managedType: manager 6.3.35. Managed Entries plug-in In some unique circumstances, it is useful to have an entry created automatically when another entry is created. For example, this can be part of Posix integration by creating a specific group entry when a new user is created. Each instance of the Managed Entries Plug-in identifies two areas: The scope of the plug-in, meaning the subtree and the search filter to use to identify entries which require a corresponding managed entry A template entry that defines what the managed entry should look like Plug-in Information Description Plug-in ID Managed Entries Configuration Entry DN cn=Managed Entries,cn=plugins,cn=config Description Container entry for automatically generated directory entries. Each configuration entry defines a target subtree and a template entry. When a matching entry in the target subtree is created, then the plug-in automatically creates a new, related entry based on the template. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments None for the main plug-in entry. Each plug-in instance has four possible attributes: * originScope, which sets the search base * originFilter, which sets the search base for matching entries * managedScope, which sets the subtree under which to create new managed entries * managedTemplate, which is the template entry used to create the managed entries Dependencies Database Performance-Related Information None 6.3.35.1. managedBase This attribute sets the subtree under which to create the managed entries. This can be any entry in the directory tree. Parameter Description Entry DN cn= instance_name ,cn=Managed Entries Plugin,cn=plugins,cn=config Valid Values Any Directory Server subtree Default Value None Syntax DirectoryString Example managedBase: ou=groups,dc=example,dc=com 6.3.35.2. managedTemplate This attribute identifies the template entry to use to create the managed entry. This entry can be located anywhere in the directory tree; however, it is recommended that this entry is in a replicated suffix so that all suppliers and consumers in replication are using the same template. The attributes used to create the managed entry template are described in the Red Hat Directory Server Configuration, Command, and File Reference . Parameter Description Entry DN cn= instance_name ,cn=Managed Entries Plugin,cn=plugins,cn=config Valid Values Any Directory Server entry of the mepTemplateEntry object class Default Value None Syntax DirectoryString Example managedTemplate: cn=My Template,ou=Templates,dc=example,dc=com 6.3.35.3. originFilter This attribute sets the search filter to use to search for and identify the entries within the subtree which require a managed entry. The filter allows the managed entries behavior to be limited to a specific type of entry or subset of entries. The syntax is the same as a regular search filter. Parameter Description Entry DN cn= instance_name ,cn=Managed Entries Plugin,cn=plugins,cn=config Valid Values Any valid LDAP filter Default Value None Syntax DirectoryString Example originFilter: objectclass=posixAccount 6.3.35.4. originScope This attribute sets the scope of the search to use to see which entries the plug-in monitors. If a new entry is created within the scope subtree, then the Managed Entries Plug-in creates a new managed entry that corresponds to it. Parameter Description Entry DN cn= instance_name ,cn=Managed Entries Plugin,cn=plugins,cn=config Valid Values Any Directory Server subtree Default Value None Syntax DirectoryString Example originScope: ou=people,dc=example,dc=com 6.3.36. MemberOf plug-in Group membership is defined within group entries using attributes such as member . Searching for the member attribute makes it easy to list all of the members for the group. However, group membership is not reflected in the member's user entry, so it is impossible to tell to what groups a person belongs by looking at the user's entry. The MemberOf Plug-in synchronizes the group membership in group members with the members' individual directory entries by identifying changes to a specific member attribute (such as member ) in the group entry and then working back to write the membership changes over to a specific attribute in the members' user entries. Plug-in Information Description Plug-in ID memberOf Configuration Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Description Manages the memberOf attribute on user entries, based on the member attributes in the group entry. Type postoperation Configurable Options on | off Default Setting off Configurable Arguments * memberOfAttr sets the attribute to generate in people's entries to show their group membership. * memberOfGroupAttr sets the attribute to use to identify group member's DNs. Dependencies Database Performance-Related Information None 6.3.36.1. cn Sets the name of the plug-in instance. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Values Any valid string Default Value Syntax DirectoryString Example cn: Example MemberOf Plugin Instance 6.3.36.2. memberOfAllBackends This attribute specifies whether to search the local suffix for user entries or all available suffixes. This can be desirable in directory trees where users may be distributed across multiple databases so that group membership is evaluated comprehensively and consistently. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example memberOfAllBackends: on 6.3.36.3. memberOfAttr This attribute specifies the attribute in the user entry for Directory Server to manage to reflect group membership. The MemberOf Plug-in generates the value of the attribute specified here in the directory entry for the member. There is a separate attribute for every group to which the user belongs. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Range Any Directory Server attribute that supports DN syntax Default Value memberOf Syntax DirectoryString Example memberOfAttr: memberOf 6.3.36.4. memberOfAutoAddOC To enable the memberOf plug-in to add the memberOf attribute to a user, the user object must contain an object class that allows this attribute. If an entry does not have an object class that allows the memberOf attribute then the memberOf plugin will automatically add the object class listed in the memberOfAutoAddOC parameter. This setting does not require restarting the server to take effect. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Values Any Directory Server object class Default Value nsMemberOf Syntax DirectoryString Example memberOfAutoAddOC: nsMemberOf 6.3.36.5. memberOfEntryScope If you configured several back ends or multiple-nested suffixes, the multi-valued memberOfEntryScope parameter enables you to set what suffixes the MemberOf plug-in works on. If the parameter is not set, the plug-in works on all suffixes. The value set in the memberOfEntryScopeExcludeSubtree parameter has a higher priority than values set in memberOfEntryScope . This setting does not require restarting the server to take effect. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Range Any Directory Server entry DN. Default Value Syntax DirectoryString Example memberOfEntryScope: ou=people,dc=example,dc=com 6.3.36.6. memberOfEntryScopeExcludeSubtree If you configured several back ends or multiple-nested suffixes, the multi-valued memberOfEntryScopeExcludeSubtree parameter enables you to set what suffixes the MemberOf plug-in excludes. The value set in the memberOfEntryScopeExcludeSubtree parameter has a higher priority than values set in memberOfEntryScope . If the scopes set in both parameters overlap, the MemberOf plug-in only works on the non-overlapping directory entries. This setting does not require restarting the server to take effect. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Range Any Directory Server entry DN. Default Value Syntax DirectoryString Example memberOfEntryScopeExcludeSubtree: ou=sample,dc=example,dc=com 6.3.36.7. memberOfGroupAttr This attribute specifies the attribute in the group entry to use to identify the DNs of group members. By default, this is the member attribute, but it can be any membership-related attribute that contains a DN value, such as uniquemember or member . Note Any attribute can be used for the memberOfGroupAttr value, but the MemberOf Plug-in only works if the value of the target attribute contains the DN of the member entry. For example, the member attribute contains the DN of the member's user entry: member: uid=jsmith,ou=People,dc=example,dc=com Some member-related attributes do not contain a DN, like the memberURL attribute. That attribute will not work as a value for memberOfGroupAttr . The memberURL value is a URL, and a non-DN value cannot work with the MemberOf Plug-in. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid Range Any Directory Server attribute Default Value member Syntax DirectoryString Example memberOfGroupAttr: member 6.3.36.8. memberOfSkipNested If you do not use nested groups in the directory, set the memberOfSkipNested attribute to on to skip the nested group check. It significantly improves response time of update operations when Directory Server needs to compute membership in more that 10000 entries. You do not need to restart the server to apply changes. Parameter Description Entry DN cn=MemberOf Plugin,cn=plugins,cn=config Valid range on | off Default value off Syntax DirectoryString Example memberOfSkipNested: off 6.3.37. Multi-supplier Replication plug-in Plug-in Parameter Description Plug-in ID replication-multisupplier DN of Configuration Entry cn=Multisupplier Replication Plugin,cn=plugins,cn=config Description Enables replication between two current Directory Server Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies * Named: ldbm database * Named: DES * Named: Class of Service Performance-Related Information Further Information Turn this plug-in off if one server will never replicate. 6.3.38. Name and Optional UID Syntax plug-in Plug-in Parameter Description Plug-in ID nameoptuid-syntax DN of Configuration Entry cn=Name And Optional UID Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules to store and search for a DN with an optional unique ID; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information The optional UID is used to distinguish between entries which may have identical DNs or naming attributes. See also RFC 4517 . 6.3.39. Numeric String Syntax plug-in Plug-in Parameter Description Plug-in ID numstr-syntax DN of Configuration Entry cn=Numeric String Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for strings of numbers and spaces; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.40. Octet String Syntax plug-in Note Use the Octet String syntax instead of Binary, which is deprecated. Plug-in Parameter Description Plug-in ID octetstring-syntax DN of Configuration Entry cn=Octet String Syntax,cn=plugins,cn=config Description Supports octet string syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.41. OID Syntax plug-in Plug-in Parameter Description Plug-in ID oid-syntax DN of Configuration Entry cn=OID Syntax,cn=plugins,cn=config Description Supports object identifier (OID) syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.42. PAM Pass Through Auth plug-in Local PAM configurations on Unix systems can leverage an external authentication store for LDAP users. This is a form of pass-through authentication which allows Directory Server to use the externally-stored user credentials for directory access. PAM pass-through authentication is configured in child entries beneath the PAM Pass Through Auth Plug-in container entry. All of the possible configuration attributes for PAM authentication (defined in the 60pam-plugin.ldif schema file) are available to a child entry; the child entry must be an instance of the PAM configuration object class. Example 6.4. Example PAM Pass Through Auth Configuration Entries dn: cn=PAM Pass Through Auth,cn=plugins,cn=config objectClass: top objectClass: nsSlapdPlugin objectClass: extensibleObject objectClass: pamConfig cn: PAM Pass Through Auth nsslapd-pluginPath: libpam-passthru-plugin nsslapd-pluginInitfunc: pam_passthruauth_init nsslapd-pluginType: preoperation pass:quotes[ nsslapd-pluginEnabled: on ] nsslapd-pluginLoadGlobal: true nsslapd-plugin-depends-on-type: database nsslapd-pluginId: pam_passthruauth nsslapd-pluginVersion: 9.0.0 nsslapd-pluginVendor: Red Hat nsslapd-pluginDescription: PAM pass through authentication plugin dn: cn=Example PAM Config,cn=PAM Pass Through Auth,cn=plugins,cn=config objectClass: top objectClass: nsSlapdPlugin objectClass: extensibleObject objectClass: pamConfig cn: Example PAM Config pamMissingSuffix: ALLOW pass:quotes[ pamExcludeSuffix: cn=config ] pass:quotes[ pamIDMapMethod: RDN ou=people,dc=example,dc=com ] pass:quotes[ pamIDMapMethod: ENTRY ou=engineering,dc=example,dc=com ] pass:quotes[ pamIDAttr: customPamUid ] pass:quotes[ pamFilter: (manager=uid=bjensen,ou=people,dc=example,dc=com) ] pamFallback: FALSE pass:quotes[ pamSecure: TRUE ] pass:quotes[ pamService: ldapserver ] The PAM configuration, at a minimum, must define a mapping method (a way to identify what the PAM user ID is from the Directory Server entry), the PAM server to use, and whether to use a secure connection to the service. pamIDMapMethod: RDN pamSecure: FALSE pamService: ldapserver The configuration can be expanded for special settings, such as to exclude or specifically include subtrees or to map a specific attribute value to the PAM user ID. Plug-in Parameter Description Plug-in ID pam_passthruauth DN of Configuration Entry cn=PAM Pass Through Auth,cn=plugins,cn=config Description Enables pass-through authentication for PAM, meaning that a PAM service can use the Directory Server as its user authentication store. Type preoperation Configurable Options on | off Default Setting on Configurable Arguments None Dependencies Database Performance-Related Information 6.3.42.1. pamConfig (object class) This object class is used to define the PAM configuration to interact with the directory service. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.318 Allowed Attributes pamExcludeSuffix pamIncludeSuffix pamMissingSuffix pamFilter pamIDAttr pamIDMapMethod pamFallback pamSecure pamService nsslapd-pluginConfigArea 6.3.42.2. pamExcludeSuffix This attribute specifies a suffix to exclude from PAM authentication. OID 2.16.840.1.113730.3.1.2068 Syntax DN Multi- or Single-Valued Multi-valued Defined in Directory Server 6.3.42.3. pamFallback Sets whether to fallback to regular LDAP authentication if PAM authentication fails. OID 2.16.840.1.113730.3.1.2072 Syntax Boolean Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.4. pamFilter Sets an LDAP filter to use to identify specific entries within the included suffixes for which to use PAM pass-through authentication. If not set, all entries within the suffix are targeted by the configuration entry. OID 2.16.840.1.113730.3.1.2131 Syntax Boolean Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.5. pamIDAttr This attribute contains the attribute name which is used to hold the PAM user ID. OID 2.16.840.1.113730.3.1.2071 Syntax DirectoryString Multi- or Single-Valued Multi-valued Defined in Directory Server 6.3.42.6. pamIDMapMethod Gives the method to use to map the LDAP bind DN to a PAM identity. Note Directory Server user account inactivation is only validated using the ENTRY mapping method. With RDN or DN, a Directory Server user whose account is inactivated can still bind to the server successfully. OID 2.16.840.1.113730.3.1.2070 Syntax DirectoryString Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.7. pamIncludeSuffix This attribute sets a suffix to include for PAM authentication. OID 2.16.840.1.113730.3.1.2067 Syntax DN Multi- or Single-Valued Multi-valued Defined in Directory Server 6.3.42.8. pamMissingSuffix Identifies how to handle missing include or exclude suffixes. The options are ERROR (which causes the bind operation to fail); ALLOW, which logs an error but allows the operation to proceed; and IGNORE, which allows the operation and does not log any errors. OID 2.16.840.1.113730.3.1.2069 Syntax DirectoryString Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.9. pamModuleIsThreadSafe By default, Directory Server serializes the Pluggable Authentication Module (PAM) authentications. If you set the pamModuleIsThreadSafe attribute to on , Directory Server starts to perform PAM authentications in parallel. However, ensure that the PAM module you are using is a thread-safe module. Currently, you can use the ldapmodify utility to configure the pamModuleIsThreadSafe attribute: To apply changes, restart the server. OID 2.16.840.1.113730.3.1.2399 Syntax Boolean Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.10. pamSecure Requires secure TLS connection for PAM authentication. OID 2.16.840.1.113730.3.1.2073 Syntax Boolean Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.42.11. pamService Contains the service name to pass to PAM. This assumes that the service specified has a configuration file in the /etc/pam.d/ directory. Important The pam_fprintd.so module cannot be in the configuration file referenced by the pamService attribute of the PAM Pass-Through Authentication Plug-in configuration. Using the PAM pam_fprintd.so module causes Directory Server to hit the max file descriptor limit and can cause Directory Server process to abort. Important The pam_fprintd.so module cannot be in the configuration file referenced by the pamService attribute of the PAM Pass-Through Authentication Plug-in configuration. Using the PAM fprintd module causes Directory Server to hit the max file descriptor limit and can cause the Directory Server process to abort. OID 2.16.840.1.113730.3.1.2074 Syntax IA5String Multi- or Single-Valued Single-valued Defined in Directory Server 6.3.43. Pass Through Authentication plug-in Plug-in Parameter Description Plug-in ID passthruauth DN of Configuration Entry cn=Pass Through Authentication,cn=plugins,cn=config Description Enables pass-through authentication , the mechanism which allows one directory to consult another to authenticate bind requests. Type preoperation Configurable Options on | off Default Setting off Configurable Arguments ldap://example.com:389/o=example Dependencies Database Performance-Related Information Pass-through authentication slows down bind requests a little because they have to make an extra hop to the remote server. 6.3.44. Password Storage Schemes Directory Server implements the password storage schemes as plug-ins. However, the cn=Password Storage Schemes,cn=plugins,cn=config entry itself is just a container, not a plug-in entry. All password storage scheme plug-ins are stored as a subentry of this container. To display all password storage schemes plug-ins, enter: # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x \ -b "cn=Password Storage Schemes,cn=plugins,cn=config" -s sub "(objectclass=*)" dn Warning Red Hat recommends not disabling the password scheme plug-ins nor to change the configurations of the plug-ins to prevent unpredictable authentication behavior. Strong Password Storage Schemes Red Hat recommends using only the following strong password storage schemes (strongest first): PBKDF2-SHA512 (default). The PBKDF2-SHA512 is more secure than PBKDF2_SHA256 . The password-based key derivation function 2 (PBKDF2) is designed to expend resources to counter brute force attacks. PBKDF2 supports a variable number of iterations to apply the hashing algorithm. Higher iterations improve security but require more hardware resources. To apply the PBKDF2-SHA512 algorithm, Directory Server uses 10,000 iterations. Note The network security service (NSS) database in Red Hat Enterprise Linux 6 does not support PBKDF2. Therefore you cannot use this password scheme in a replication topology with Directory Server 9. SSHA512 The salted secure hashing algorithm (SSHA) implements an enhanced version of the secure hashing algorithm (SHA), that uses a randomly generated salt to increase the security of the hashed password. SSHA512 implements the hashing algorithm using 512 bits. Weak Password Storage Schemes Besides the recommended strong password storage schemes, Directory Server supports the following weak schemes for backward compatibility: AES CLEAR CRYPT CRYPT-MD5 CRYPT-SHA256 CRYPT-SHA512 DES MD5 NS-MTA-MD5 [a] SHA [b] SHA256 SHA384 SHA512 SMD5 SSHA SSHA256 SSHA384 [a] Directory Server only supports authentication using this scheme. You can no longer use it to encrypt passwords. [b] 160 bit Important Only continue using a weak scheme over a short time frame, as it increases security risks. 6.3.45. Posix Winsync API plug-in By default, Posix-related attributes are not synchronized between Active Directory and Red Hat Directory Server. On Linux systems, system users and groups are identified as Posix entries, and LDAP Posix attributes contain that required information. However, when Windows users are synced over, they have ntUser and ntGroup attributes automatically added which identify them as Windows accounts, but 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 Posix Winsync API Plug-in synchronizes POSIX attributes between Active Directory and Directory Server entries. Note All POSIX attributes (such as uidNumber , gidNumber , and homeDirectory ) are synchronized between Active Directory and Directory Server entries. However, if a new POSIX entry or POSIX attributes are added to an existing entry in Directory Server, only the POSIX attributes are synchronized over to the Active Directory corresponding entry . The POSIX object class ( posixAccount for users and posixGroup for groups) is not added to the Active Directory entry. This plug-in is disabled by default and must be enabled before any Posix attributes will be synchronized from the Active Directory entry to the Directory Server entry. Plug-in Parameter Description Plug-in ID posix-winsync-plugin DN of Configuration Entry cn=Posix Winsync API,cn=plugins,cn=config Description Enables and configures Windows synchronization for Posix attributes set on Active Directory user and group entries. Type preoperation Configurable Arguments * on | off * memberUID mapping (groups) * converting and sorting memberUID values in lower case (groups) * memberOf fix-up tasks with sync operations * use Windows 2003 Posix schema Default Setting off Configurable Arguments None Dependencies database 6.3.45.1. posixWinsyncCreateMemberOfTask This attribute sets whether to run the memberOf fix-up task immediately after a sync run in order to update group memberships for synced users. This is disabled by default because the memberOf fix-up task can be resource-intensive and cause performance issues if it is run too frequently. Parameter Description Entry DN cn=Posix Winsync API Plugin,cn=plugins,cn=config Valid Range true | false Default Value false Example posixWinsyncCreateMemberOfTask: false 6.3.45.2. posixWinsyncLowerCaseUID This attribute sets whether to store (and, if necessary, convert) the UID value in the memberUID attribute in lower case. Parameter Description Entry DN cn=Posix Winsync API Plugin,cn=plugins,cn=config Valid Range true | false Default Value false Example posixWinsyncLowerCaseUID: false 6.3.45.3. posixWinsyncMapMemberUID This attribute sets whether to map the memberUID attribute in an Active Directory group to the uniqueMember attribute in a Directory Server group. Parameter Description Entry DN cn=Posix Winsync API Plugin,cn=plugins,cn=config Valid Range true | false Default Value true Example posixWinsyncMapMemberUID: false 6.3.45.4. posixWinsyncMapNestedGrouping The posixWinsyncMapNestedGrouping parameter manages if nested groups are updated when memberUID attributes in an Active Directory POSIX group change. Updating nested groups is supported up a depth of five levels. Parameter Description Entry DN cn=Posix Winsync API Plugin,cn=plugins,cn=config Valid Range true | false Default Value false Example posixWinsyncMapNestedGrouping: false 6.3.45.5. posixWinsyncMsSFUSchema This attribute sets whether to the older Microsoft System Services for Unix 3.0 (msSFU30) schema when syncing Posix attributes from Active Directory. By default, the Posix Winsync API Plug-in uses Posix schema for modern Active Directory servers: 2005, 2008, and later versions. There are slight differences between the modern Active Directory Posix schema and the Posix schema used by Windows Server 2003 and older Windows servers. If an Active Directory domain is using the older-style schema, then the older-style schema can be used instead. Parameter Description Entry DN cn=Posix Winsync API Plugin,cn=plugins,cn=config Valid Range true | false Default Value false Example posixWinsyncMsSFUSchema: true 6.3.46. Postal Address String Syntax plug-in Plug-in Parameter Description Plug-in ID postaladdress-syntax DN of Configuration Entry cn=Postal Address Syntax,cn=plugins,cn=config Description Supports postal address syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.47. Printable String Syntax plug-in Plug-in Parameter Description Plug-in ID printablestring-syntax DN of Configuration Entry cn=Printable String Syntax,cn=plugins,cn=config Description Supports syntaxes and matching rules for alphanumeric and select punctuation strings (for strings which conform to printable strings as defined in RFC 4517 ). Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.48. Referential Integrity plug-in Plug-in Parameter Description Plug-in ID referint DN of Configuration Entry cn=Referential Integrity Postoperation,cn=plugins,cn=config Description Enables the server to ensure referential integrity Type postoperation Configurable Options All configuration and on | off Default Setting off Configurable Arguments When enabled, the post-operation Referential Integrity plug-in performs integrity updates on the member , uniquemember , owner , and seeAlso attributes immediately after a delete or rename operation. The plug-in can be configured to perform integrity checks on all other attributes. Dependencies Database Performance-Related Information The Referential Integrity plug-in should be enabled on all suppliers in multi-supplier replication environment. When enabling the plug-in on chained servers, be sure to analyze the performance resource and time needs as well as integrity needs; integrity checks can be time consuming and demanding on memory and CPU. All attributes specified must be indexed for both presence and equality. 6.3.49. Retro Changelog plug-in Two different types of changelogs are maintained by Directory Server. The first type, referred to as simply a changelog , is used by multi-supplier replication, and the second changelog, a plug-in referred to as the retro changelog , is intended for use by LDAP clients for maintaining application compatibility with Directory Server 4.x versions. This Retro Changelog Plug-in is used to record modifications made to a supplier server. When the supplier server's directory is modified, an entry is written to the Retro Changelog that contains both of the following: A number that uniquely identifies the modification. This number is sequential with respect to other entries in the changelog. The modification action; that is, exactly how the directory was modified. It is through the Retro Changelog Plug-in that the changes performed to Directory Server are accessed using searches to cn=changelog suffix. Plug-in Parameter Description Plug-in ID retrocl DN of Configuration Entry cn=Retro Changelog Plugin,cn=plugins,cn=config Description Used by LDAP clients for maintaining application compatibility with Directory Server 4.x versions. Maintains a log of all changes occurring in Directory Server. The retro changelog offers the same functionality as the changelog in the 4.x versions of Directory Server. This plug-in exposes the cn=changelog suffix to clients, so that clients can use this suffix with or without persistent search for simple sync applications. Type object Configurable Options on | off Default Setting off Configurable Arguments See Section 6.3.49, "Retro Changelog plug-in" for further information on the configuration attributes for this plug-in. Dependencies * Type: Database * Named: Class of Service Performance-Related Information May slow down Directory Server update performance. 6.3.49.1. isReplicated This optional attribute sets a flag to indicate on a change in the changelog whether the change is newly made on that server or whether it was replicated over from another server. Parameter Description OID 2.16.840.1.113730.3.1.2085 Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Values true | false Default Value None Syntax Boolean Example isReplicated: true 6.3.49.2. nsslapd-attribute This attribute explicitly specifies another Directory Server attribute which must be included in the retro changelog entries. Many operational attributes and other types of attributes are commonly excluded from the retro changelog, but these attributes may need to be present for a third-party application to use the changelog data. This is done by listing the attribute in the retro changelog plug-in configuration using the nsslapd-attribute parameter. It is also possible to specify an optional alias for the specified attribute within the nsslapd-attribute value. nsslapd-attribute: attribute :pass:attributes[{blank}] alias Using an alias for the attribute can help avoid conflicts with other attributes in an external server or application which may use the retro changelog records. Note Setting the value of the nsslapd-attribute attribute to isReplicated is a way of indicating, in the retro changelog entry itself, whether the modification was done on the local server (that is, whether the change is an original change) or whether the change was replicated over to the server. Parameter Description Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Values Any valid directory attribute (standard or custom) Default Value None Syntax DirectoryString Example nsslapd-attribute: nsUniqueId: uniqueID 6.3.49.3. nsslapd-changelogdir This attribute specifies the name of the directory in which the changelog database is created the first time the plug-in is run. By default, the database is stored with all the other databases under /var/lib/dirsrv/slapd- instance /changelogdb . Note For performance reasons, store this database on a different physical disk. The server has to be restarted for changes to this attribute to go into effect. Parameter Description Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Values Any valid path to the directory Default Value None Syntax DirectoryString Example nsslapd-changelogdir: /var/lib/dirsrv/slapd- instance /changelogdb 6.3.49.4. nsslapd-changelogmaxage The nsslapd-changelogmaxage attribute sets the maximum age of any entry in the changelog. The changelog contains records of each directory modification and is used when synchronizing consumer servers. Each record contains a timestamp. Any record with a timestamp that is older than the value specified in this attribute is removed. By default, Directory Server removes records that are older than seven days. If you set this attribute to 0 , there is no age limit on changelog records, and Directory Server keeps all records. The size of the retro changelog is automatically reduced when you set a lower value. Note Expired changelog records will not be removed if there is an agreement that has fallen behind further than the maximum age. Parameter Description Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Range 0 (meaning that entries are not removed according to their age) to the maximum 32 bit integer value (2147483647) Default Value 7d Syntax DirectoryString IntegerAgeID , where AgeID is: s ( S ) for seconds m ( M ) for minutes h ( H ) for hours d ( D ) for days w ( W ) for weeks If you set only the integer value without the AgeID then Directory Server takes it as seconds. Example nsslapd-changelogmaxage: 30d 6.3.49.5. nsslapd-exclude-attrs The nsslapd-exclude-attrs parameter stores an attribute name to exclude from the retro changelog database. To exclude multiple attributes, add one nsslapd-exclude-attrs parameter for each attribute to exclude. Parameter Description Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Values Any valid attribute name Default Value None Syntax DirectoryString Example nsslapd-exclude-attrs: example 6.3.49.6. nsslapd-exclude-suffix The nsslapd-exclude-suffix parameter stores a suffix to exclude from the retro changelog database. You can add the parameter multiple times to exclude multiple suffixes. Parameter Description Entry DN cn=Retro Changelog Plugin,cn=plugins,cn=config Valid Values Any valid attribute name Default Value None Syntax DirectoryString Example nsslapd-exclude-suffix: ou=demo,dc=example,dc=com 6.3.50. Roles plug-in Plug-in Parameter Description Plug-in ID roles DN of Configuration Entry cn=Roles Plugin,cn=plugins,cn=config Description Enables the use of roles in Directory Server Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies * Type: Database * Named: State Change Plug-in * Named: Views Plug-in Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.3.51. RootDN Access Control plug-in The root DN, cn=Directory Manager, is a special user entry that is defined outside the normal user database. Normal access control rules are not applied to the root DN, but because of the powerful nature of the root user, it can be beneficial to apply some kind of access control rules to the root user. The RootDN Access Control Plug-in sets normal access controls - host and IP address restrictions, time-of-day restrictions, and day of week restrictions - on the root user. This plug-in is disabled by default. Plug-in Parameter Description Plug-in ID rootdn-access-control DN of Configuration Entry cn=RootDN Access Control,cn=plugins,cn=config Description Enables and configures access controls to use for the root DN entry. Type internalpreoperation Configurable Options on | off Default Setting off Configurable Attributes * rootdn-open-time and rootdn-close-time for time-based access controls * rootdn-days-allowed for day-based access controls * rootdn-allow-host, rootdn-deny-host, rootdn-allow-ip, and rootdn-deny-ip for host-based access controls Dependencies None 6.3.51.1. rootdn-allow-host This sets what hosts, by fully-qualified domain name, the root user is allowed to use to access Directory Server. Any hosts not listed are implicitly denied. Wild cards are allowed. This attribute can be used multiple times to specify multiple hosts, domains, or subdomains. Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Range Any valid host name or domain, including asterisks (*) for wildcards Default Value None Syntax DirectoryString Example rootdn-allow-host: *.example.com 6.3.51.2. rootdn-allow-ip This sets what IP addresses, either IPv4 or IPv6, for machines the root user is allowed to use to access Directory Server. Any IP addresses not listed are implicitly denied. Wild cards are allowed. This attribute can be used multiple times to specify multiple addresses, domains, or subnets. Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Range Any valid IPv4 or IPv6 address, including asterisks (*) for wildcards Default Value None Syntax DirectoryString Example rootdn-allow-ip: 192.168. . 6.3.51.3. rootdn-close-time This sets part of a time period or range when the root user is allowed to access Directory Server. This sets when the time-based access ends , when the root user is no longer allowed to access Directory Server. This is used in conjunction with the rootdn-open-time attribute. Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Range Any valid time, in a 24-hour format Default Value None Syntax Integer Example rootdn-close-time: 1700 6.3.51.4. rootdn-days-allowed This gives a comma-separated list of what days the root user is allowed to use to access Directory Server. Any days listed are implicitly denied. This can be used with rootdn-close-time and rootdn-open-time to combine time-based access and days-of-week or it can be used by itself (with all hours allowed on allowed days). Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Values * Sun * Mon * Tue * Wed * Thu * Fri * Sat Default Value None Syntax DirectoryString Example rootdn-days-allowed: Mon, Tue, Wed, Thu, Fri 6.3.51.5. rootdn-deny-ip This sets what IP addresses, either IPv4 or IPv6, for machines the root user is not allowed to use to access Directory Server. Any IP addresses not listed are implicitly allowed. Note Deny rules supercede allow rules, so if an IP address is listed in both the rootdn-allow-ip and rootdn-deny-ip attributes, it is denied access. Wild cards are allowed. This attribute can be used multiple times to specify multiple addresses, domains, or subnets. Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Range Any valid IPv4 or IPv6 address, including asterisks (*) for wildcards Default Value None Syntax DirectoryString Example rootdn-deny-ip: 192.168.0.0 6.3.51.6. rootdn-open-time This sets part of a time period or range when the root user is allowed to access Directory Server. This sets when the time-based access begins . This is used in conjunction with the rootdn-close-time attribute. Parameter Description Entry DN cn=RootDN Access Control Plugin,cn=plugins,cn=config Valid Range Any valid time, in a 24-hour format Default Value None Syntax Integer Example rootdn-open-time: 0800 6.3.52. Schema Reload plug-in Plug-in Information Description Plug-in ID schemareload Configuration Entry DN cn=Schema Reload,cn=plugins,cn=config Description Task plug-in to reload schema files Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information 6.3.53. Space Insensitive String Syntax plug-in Plug-in Parameter Description Plug-in ID none DN of Configuration Entry cn=Space Insensitive String Syntax,cn=plugins,cn=config Description Syntax for handling space-insensitive values Type syntax Configurable Options on | off Default Setting off Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information This plug-in enables the Directory Server to support space and case insensitive values. This allows applications to search the directory using entries with ASCII space characters. For example, a search or compare operation that uses jOHN Doe will match entries that contain johndoe , john doe , and John Doe if the attribute's schema has been configured to use the space insensitive syntax. 6.3.54. State Change plug-in Plug-in Parameter Description Plug-in ID statechange DN of Configuration Entry cn=State Change Plugin,cn=plugins,cn=config Description Enables state-change-notification service Type postoperation Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information 6.3.55. Syntax Validation Task plug-in Plug-in Parameter Description Plug-in ID none DN of Configuration Entry cn=Syntax Validation Task,cn=plugins,cn=config Description Enables syntax validation for attribute values Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Further Information This plug-in implements syntax validation tasks. The actual process that carries out syntax validation is performed by each specific syntax plug-in. 6.3.56. Telephone Syntax plug-in Plug-in Parameter Description Plug-in ID tele-syntax DN of Configuration Entry cn=Telephone Syntax,cn=plugins,cn=config Description Supports telephone number syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.57. Teletex Terminal Identifier Syntax plug-in Plug-in Parameter Description Plug-in ID teletextermid-syntax DN of Configuration Entry cn=Teletex Terminal Identifier Syntax,cn=plugins,cn=config Description Supports international telephone number syntaxes and related matching rules from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.58. Telex Number Syntax plug-in Plug-in Parameter Description Plug-in ID telex-syntax DN of Configuration Entry cn=Telex Number Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for the telex number, country code, and answerback code of a telex terminal; from RFC 4517 . Type syntax Configurable Options on | off Default Setting on Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.59. URI Syntax plug-in Plug-in Parameter Description Plug-in ID none DN of Configuration Entry cn=URI Syntax,cn=plugins,cn=config Description Supports syntaxes and related matching rules for unique resource identifiers (URIs), including unique resource locators (URLs); from RFC 4517 . Type syntax Configurable Options on | off Default Setting off Configurable Arguments None Dependencies None Performance-Related Information Do not modify the configuration of this plug-in. If enabled, Red Hat recommends leaving this plug-in running at all times. Further Information RFC 4517 6.3.60. USN plug-in Plug-in Parameter Description Plug-in ID USN DN of Configuration Entry cn=USN,cn=plugins,cn=config Description Sets an update sequence number (USN) on an entry, for every entry in the directory, whenever there is a modification, including adding and deleting entries and modifying attribute values. Type object Configurable Options on | off Default Setting off Configurable Arguments None Dependencies Database Performance-Related Information For replication, it is recommended that the entryUSN configuration attribute be excluded using fractional replication. 6.3.61. Views plug-in Plug-in Parameter Description Plug-in ID views DN of Configuration Entry cn=Views,cn=plugins,cn=config Description Enables the use of views in Directory Server databases. Type object Configurable Options on | off Default Setting on Configurable Arguments None Dependencies * Type: Database * Named: State Change Plug-in Performance-Related Information Do not modify the configuration of this plug-in. Red Hat recommends leaving this plug-in running at all times. 6.4. Database plug-in attributes The database plug-in is also organized in an information tree. All plug-in technology used by the database instances is stored in the cn=ldbm database plug-in node. This section presents the additional attribute information for each of the nodes in bold in the cn=ldbm database,cn=plugins,cn=config information tree. 6.4.1. Database attributes under cn=config,cn=ldbm database,cn=plugins,cn=config This section covers global configuration attributes common to all instances are stored in the cn=config,cn=ldbm database,cn=plugins,cn=config tree node. 6.4.1.1. nsslapd-backend-implement The nsslapd-backend-implement parameter defines the database back end that Directory Server uses. Directory Server supports the following database types: Berkeley Database (BDB) Lightning Memory-Mapped Database Manager (LMDB) Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values bdb or mdb Default Value bdb Syntax Directory String Example nsslapd-backend-implement: mdb 6.4.1.2. nsslapd-backend-opt-level This parameter can trigger experimental code to improve write performance. Possible values: 0 : Disables the parameter. 1 : The replication update vector is not written to the database during the transaction 2 : Changes the order of taking the back end lock and starts the transaction 4 : Moves code out of the transaction. All parameters can be combined. For example 7 enables all optimisation features. Warning This parameter is experimental. Never change its value unless you are specifically told to do so by the Red Hat support. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0 | 1 | 2 | 4 Default Value 0 Syntax Integer Example nsslapd-backend-opt-level: 0 6.4.1.3. nsslapd-db-deadlock-policy The nsslapd-db-deadlock-policy parameter sets the libdb library-internal deadlock policy. Important Only change this parameter if instructed by Red Hat Support. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0-9 Default Value 0 Syntax DirectoryString Example nsslapd-db-deadlock-policy: 9 6.4.1.4. nsslapd-db-private-import-mem The nsslapd-db-private-import-mem parameter manages whether or not Directory Server uses private memory for allocation of regions and mutexes for a database import. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsslapd-db-private-import-mem: on 6.4.1.5. nsslapd-db-transaction-wait If you enable the nsslapd-db-transaction-wait parameter, Directory Server does not start the transaction and waits until lock resources are available. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-db-transaction-wait: off 6.4.1.6. nsslapd-directory This attribute specifies absolute path to database instance. If the database instance is manually created then this attribute must be included. Once the database instance is created, do not modify this path as any changes risk preventing the server from accessing data. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid absolute path to the database instance Default Value Syntax DirectoryString Example nsslapd-directory: /var/lib/dirsrv/slapd- instance /db 6.4.1.7. nsslapd-exclude-from-export This attribute contains a space-separated list of names of attributes to exclude from an entry when a database is exported. This mainly is used for some configuration and operational attributes which are specific to a server instance. Do not remove any of the default values for this attribute, since that may affect server performance. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid attribute Default Value entrydn entryid dncomp parentid numSubordinates entryusn Syntax DirectoryString Example nsslapd-exclude-from-export: entrydn entryid dncomp parentid numSubordinates entryusn 6.4.1.8. nsslapd-idlistscanlimit The nsslapd-idlistscanlimit attribute is deprecated because the impact of the attribute on search performance is more harmful than helpful. Further description is provided for historical purposes only. This performance-related attribute, present by default, specifies the number of entry IDs that are searched during a search operation. Attempting to set a value that is not a number or is too big for a 32-bit signed integer returns an LDAP_UNWILLING_TO_PERFORM error message, with additional error information explaining the problem. It is advisable to keep the default value to improve search performance. This parameter can be changed while the server is running, and the new value will affect subsequent searches. The corresponding user-level attribute is nsIDListScanLimit . Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 100 to the maximum 32-bit integer value (2147483647) entry IDs Default Value 2147483646 Syntax Integer Example nsslapd-idlistscanlimit: 50000 6.4.1.9. nsslapd-idl-switch The nsslapd-idl-switch parameter sets the IDL format Directory Server uses. Note that Red Hat no longer supports the old IDL format. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values new | old Default Value new Syntax Directory String Example nsslapd-idl-switch: new 6.4.1.10. nsslapd-lookthroughlimit This performance-related attribute specifies the maximum number of entries that Directory Server will check when examining candidate entries in response to a search request. The Directory Manager DN, however, is, by default, unlimited and overrides any other settings specified here. It is worth noting that binder-based resource limits work for this limit, which means that if a value for the operational attribute nsLookThroughLimit is present in the entry as which a user binds, the default limit will be overridden. Attempting to set a value that is not a number or is too big for a 32-bit signed integer returns an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range -1 to maximum 32-bit integer in entries (where -1 is unlimited) Default Value 5000 Syntax Integer Example nsslapd-lookthroughlimit: 5000 6.4.1.11. nsslapd-mode This attribute specifies the permissions used for newly created index files. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any four-digit octal number. However, mode 0600 is recommended. This allows read and write access for the owner of the index files (which is the user as whom the ns-slapd runs) and no access for other users. Default Value 600 Syntax Integer Example nsslapd-mode: 0600 6.4.1.12. nsslapd-pagedidlistscanlimit This performance-related attribute specifies the number of entry IDs that are searched, specifically, for a search operation using the simple paged results control. This attribute works the same as the nsslapd-idlistscanlimit attribute, except that it only applies to searches with the simple paged results control. If this attribute is not present or is set to zero, then the nsslapd-idlistscanlimit is used to paged searches as well as non-paged searches. The corresponding user-level attribute is nsPagedIDListScanLimit . Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range -1 to maximum 32-bit integer in entries (where -1 is unlimited) Default Value 0 Syntax Integer Example nsslapd-pagedidlistscanlimit: 5000 6.4.1.13. nsslapd-pagedlookthroughlimit This performance-related attribute specifies the maximum number of entries that the Directory Server will check when examining candidate entries for a search which uses the simple paged results control. This attribute works the same as the nsslapd-lookthroughlimit attribute, except that it only applies to searches with the simple paged results control. If this attribute is not present or is set to zero, then the nsslapd-lookthroughlimit is used to paged searches as well as non-paged searches. The corresponding user-level attribute is nsPagedLookThroughLimit . Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range -1 to maximum 32-bit integer in entries (where -1 is unlimited) Default Value 0 Syntax Integer Example nsslapd-pagedlookthroughlimit: 25000 6.4.1.14. nsslapd-rangelookthroughlimit This performance-related attribute specifies the maximum number of entries that Directory Server will check when examining candidate entries in response to a range search request. Range searches use operators to set a bracket to search for and return an entire subset of entries within the directory. For example, this searches for every entry modified at or after midnight on January 1: (modifyTimestamp>=20200101010101Z) The nature of a range search is that it must evaluate every single entry within the directory to see if it is within the range given. Essentially, a range search is always an all IDs search. For most users, the look-through limit kicks in and prevents range searches from turning into an all IDs search. This improves overall performance and speeds up range search results. However, some clients or administrative users like Directory Manager may not have a look-through limit set. In that case, a range search can take several minutes to complete or even continue indefinitely. The nsslapd-rangelookthroughlimit attribute sets a separate range look-through limit that applies to all users, including Directory Manager. This allows clients and administrative users to have high look-through limits while still allowing a reasonable limit to be set on potentially performance-impaired range searches. Note Unlike other resource limits, this applies to searches by any user, including Directory Manager, regular users, and other LDAP clients. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range -1 to maximum 32-bit integer in entries (where -1 is unlimited) Default Value 5000 Syntax Integer Example nsslapd-rangelookthroughlimit: 5000 6.4.1.15. nsslapd-search-bypass-filter-test If you enable the nsslapd-search-bypass-filter-test parameter, Directory Server bypasses filter checks when it builds candidate lists during a search. If you set the parameter to verify , Directory Server evaluates the filter against the search candidate entries. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off | verify Default Value on Syntax Directory String Example nsslapd-search-bypass-filter-test: on 6.4.1.16. nsslapd-search-use-vlv-index The nsslapd-search-use-vlv-index enables and disables virtual list view (VLV) searches. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax Directory String Example nsslapd-search-use-vlv-index: on 6.4.2. Database attributes under cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config This section covers global configuration attributes common to all instances are stored in the cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config tree node. 6.4.2.1. nsslapd-cache-autosize This performance tuning-related attribute sets the percentage of free memory that is used in total for the database and entry cache. For example, if the value is set to 10 , 10% of the system's free RAM is used for both caches. If this value is set to a value greater than 0 , auto-sizing is enabled for the database and entry cache. For optimized performance, Red Hat recommends not to disable auto-sizing. However, in certain situations in can be necessary to disable auto-sizing. In this case, set the nsslapd-cache-autosize attribute to 0 and manually set: the database cache in the nsslapd-dbcachesize attribute. the entry cache in the nsslapd-cachememsize attribute. Note If the nsslapd-cache-autosize and nsslapd-cache-autosize-split attribute are both set to high values, such as 100 , Directory Server fails to start. To fix the problem, set both parameters to more reasonable values. For example: nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40 Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 100. If 0 is set, the default value is used instead. Default Value 10 Syntax Integer Example nsslapd-cache-autosize: 10 6.4.2.2. nsslapd-cache-autosize-split This performance tuning-related attribute sets the percentage of RAM that is used for the database cache. The remaining percentage is used for the entry cache. For example, if the value is set to 40 , the database cache uses 40%, and the entry cache the remaining 60% of the free RAM reserved in the nsslapd-cache-autosize attribute. Note If the nsslapd-cache-autosize and nsslapd-cache-autosize-split attribute are both set to high values, such as 100 , Directory Server fails to start. To fix the problem, set both parameters to more reasonable values. For example: nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40 Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 99. If 0 is set, the default value is used instead. Default Value 40 Syntax Integer Example nsslapd-cache-autosize-split: 40 6.4.2.3. nsslapd-dbcachesize This performance tuning-related attribute specifies the database index cache size, in bytes. This is one of the most important values for controlling how much physical RAM the directory server uses. This is not the entry cache. This is the amount of memory the Berkeley database back end will use to cache the indexes (the .db files) and other files. This value is passed to the Berkeley DB API function set_cachesize . If automatic cache resizing is activated, this attribute is overridden when the server replaces these values with its own guessed values at a later stage of the server startup. For more technical information on this attribute, see the cache size section of the Berkeley DB reference guide at link:https://docs.oracle.com/cd/E17076_04/html/programmer_reference/general_am_conf.html#am_conf_cachesize. Attempting to set a value that is not a number or is too big for a 32-bit signed integer returns an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem. Note Do not set the database cache size manually. Red Hat recommends to use the database cache auto-sizing feature for optimized performance. The server has to be restarted for changes to this attribute to go into effect. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 500 kilobytes to 4 gigabytes for 32-bit platforms and 500 kilobytes to 2^64-1 for 64-bit platforms Default Value Syntax Integer Example nsslapd-dbcachesize: 10000000 6.4.2.4. nsslapd-db-checkpoint-interval This sets the amount of time in seconds after which Directory Server sends a checkpoint entry to the database transaction log. The database transaction log contains a sequential listing of all recent database operations and is used for database recovery only. A checkpoint entry indicates which database operations have been physically written to the directory database. The checkpoint entries are used to determine where in the database transaction log to begin recovery after a system failure. The nsslapd-db-checkpoint-interval attribute is absent from dse.ldif . To change the checkpoint interval, add the attribute to dse.ldif . This attribute can be dynamically modified using ldapmodify . This attribute is provided only for system modification/diagnostics and should be changed only with the guidance of Red Hat Technical Support or Red Hat Consulting. Inconsistent settings of this attribute and other configuration attributes may cause Directory Server to be unstable. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 10 to 300 seconds Default Value 60 Syntax Integer Example nsslapd-db-checkpoint-interval: 120 6.4.2.5. nsslapd-db-circular-logging This attribute specifies circular logging for the transaction log files. If this attribute is switched off, old transaction log files are not removed and are kept renamed as old log transaction files. Turning circular logging off can severely degrade server performance and, as such, should only be modified with the guidance of Red Hat Technical Support or Red Hat Consulting. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsslapd-db-circular-logging: on 6.4.2.6. nsslapd-db-debug This attribute specifies whether additional error information is to be reported to Directory Server. To report error information, set the parameter to on . This parameter is meant for troubleshooting; enabling the parameter may slow down Directory Server. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-db-debug: off 6.4.2.7. nsslapd-db-durable-transactions This attribute sets whether database transaction log entries are immediately written to the disk. The database transaction log contains a sequential listing of all recent database operations and is used for database recovery only. With durable transactions enabled, every directory change will always be physically recorded in the log file and, therefore, able to be recovered in the event of a system failure. However, the durable transactions feature may also slow the performance of Directory Server. When durable transactions is disabled, all transactions are logically written to the database transaction log but may not be physically written to disk immediately. If there were a system failure before a directory change was physically written to disk, that change would not be recoverable. The nsslapd-db-durable-transactions attribute is absent from dse.ldif . To disable durable transactions, add the attribute to dse.ldif . This attribute is provided only for system modification/diagnostics and should be changed only with the guidance of Red Hat Technical Support or Red Hat Consulting. Inconsistent settings of this attribute and other configuration attributes may cause Directory Server to be unstable. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsslapd-db-durable-transactions: on 6.4.2.8. nsslapd-db-compactdb-interval The nsslapd-db-compactdb-interval attribute defines the interval in seconds when Directory Server compacts the databases and replication changelogs. The compact operation returns the unused pages to the file system and the database file size shrinks. Note that compacting the database is resource-intensive and should not be done too often. The attribute change does not require the server restart. However, Directory Server starts to count the new interval value from the time you changed the value. For example, the compaction is planned for today at 10:40. Then at 10:35, 5 minutes before the planned compaction, you set the new interval ( nsslapd-db-compactdb-interval ) to 259200 seconds (3 days) and the new compaction time ( nsslapd-db-compactdb-time ) to 20:30 . Now Directory Server discards the compaction planned for today at 10:40 and performs the compaction in 3 days at 20:30. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0 (no compaction) to 2147483647 second Default Value 2592000 (30 days) Syntax Integer Example nsslapd-db-compactdb-interval: 2592000 6.4.2.9. nsslapd-db-compactdb-time The nsslapd-db-compactdb-time attribute sets the time of the day when Directory Server compacts all databases and their replication changelogs. The compaction task runs after the compaction interval ( nsslapd-db-compactdb-interval ) has been exceeded. The attribute change does not require the server restart. However, Directory Server applies the new time value when the compaction interval set in nsslapd-db-compactdb-interval expires. For example, the compaction is planned today at 10:40. Then at 10:35, 5 minutes before the planned compaction, you set the new interval ( nsslapd-db-compactdb-interval ) to 259200 seconds (3 days) and the new compaction time ( nsslapd-db-compactdb-time ) to 20:30 . Now Directory Server discards the compaction planned for today at 10:40 and performs the compaction in 3 days at 20:30. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values HH:MM. Time is set in 24-hour format Default Value 23:59 Syntax DirectoryString Example nsslapd-db-compactdb-time: 23:59 6.4.2.10. nsslapd-db-home-directory This parameter specifies the location of memory-mapped files of Directory Server databases. For performance reasons, the default value of this parameter refers to the /dev/shm/ directory, which uses a tmpfs file system.. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid directory Default Value /dev/shm/ Syntax DirectoryString Example nsslapd-db-home-directory: /dev/shm/ 6.4.2.11. nsslapd-db-idl-divisor This attribute specifies the index block size in terms of the number of blocks per database page. The block size is calculated by dividing the database page size by the value of this attribute. A value of 1 makes the block size exactly equal to the page size. The default value of 0 sets the block size to the page size minus an estimated allowance for internal database overhead. For the majority of installations, the default value should not be changed unless there are specific tuning needs. Before modifying the value of this attribute, export all databases using the db2ldif script. Once the modification has been made, reload the databases using the ldif2db script. Warning This parameter should only be used by very advanced users. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 8 Default Value 0 Syntax Integer Example nsslapd-db-idl-divisor: 2 6.4.2.12. nsslapd-db-locks Lock mechanisms in Directory Server control how many copies of Directory Server processes can run at the same time. The nsslapd-db-locks parameter sets the maximum number of locks. Only set this parameter to a higher value if Directory Server runs out of locks and logs libdb: Lock table is out of available locks error messages. If you set a higher value without a need, this increases the size of the /var/lib/dirsrv/slapd- instance_name /db__db.* files without any benefit. The service must be restarted for changes to this attribute to take effect. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 - 2147483647 Default Value 10000 Syntax Integer Example nsslapd-db-locks: 10000 6.4.2.13. nsslapd-db-locks-monitoring-enabled Running out of database locks can lead to data corruption. With the nsslapd-db-locks-monitoring-enabled parameter, you can enable or disable database lock monitoring. If the parameter is enabled, which is the default, Directory Server terminates all searches if the number of active database locks is higher than the percentage threshold configured in nsslapd-db-locks-monitoring-threshold . If an issue occurs, the administrator can increase the number of database locks in the nsslapd-db-locks parameter. Restart the service for changes to this attribute to take effect. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsslapd-db-locks-monitoring-enabled: on 6.4.2.14. nsslapd-db-locks-monitoring-pause If monitoring of database locks is enabled in the nsslapd-db-locks-monitoring-enable parameter, nsslapd-db-locks-monitoring-pause defines the interval in milliseconds that the monitoring thread sleeps between the checks. If you set this parameter to a too high value, the server can run out of database locks before the monitoring check happens. However, setting a too low value can slow down the server. You do not have to restart the server for this setting to take effect. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0 - 2147483647 (value in milliseconds) Default Value 500 Syntax DirectoryString Example nsslapd-db-locks-monitoring-pause: 500 6.4.2.15. nsslapd-db-locks-monitoring-threshold If monitoring of database locks is enabled in the nsslapd-db-locks-monitoring-enable parameter, nsslapd-db-locks-monitoring-threshold sets the maximum percentage of used database locks before Directory Server terminates searches to avoid further lock exhaustion. Restart the service for changes to this attribute to take effect. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 70 - 95 Default Value 90 Syntax DirectoryString Example nsslapd-db-locks-monitoring-threshold: 90 6.4.2.16. nsslapd-db-logbuf-size This attribute specifies the log information buffer size. Log information is stored in memory until the buffer fills up or the transaction commit forces the buffer to be written to disk. Larger buffer sizes can significantly increase throughput in the presence of long running transactions, highly concurrent applications, or transactions producing large amounts of data. The log information buffer size is the transaction log size divided by four. The nsslapd-db-logbuf-size attribute is only valid if the nsslapd-db-durable-transactions attribute is set to on . Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 32K to maximum 32-bit integer (limited to the amount of memory available on the machine) Default Value 32K Syntax Integer Example nsslapd-db-logbuf-size: 32K 6.4.2.17. nsslapd-db-logdirectory This attribute specifies the path to the directory that contains the database transaction log. The database transaction log contains a sequential listing of all recent database operations. Directory Server uses this information to recover the database after an instance shut down unexpectedly. By default, the database transaction log is stored in the same directory as the directory database. To update this parameter, you must manually update the /etc/dirsrv/slapd- instance_name /dse.ldif file. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid path Default Value Syntax DirectoryString Example nsslapd-db-logdirectory: /var/lib/dirsrv/slapd- instance_name /db/ 6.4.2.18. nsslapd-db-logfile-size This attribute specifies the maximum size of a single file in the log in bytes. By default, or if the value is set to 0 , a maximum size of 10 megabytes is used. The maximum size is an unsigned 4-byte value. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to unsigned 4-byte integer Default Value 10MB Syntax Integer Example nsslapd-db-logfile-size: 10 MB 6.4.2.19. nsslapd-dbncache This attribute can split the LDBM cache into equally sized separate pieces of memory. It is possible to specify caches that are large enough so that they cannot be allocated contiguously on some architectures; for example, some systems limit the amount of memory that may be allocated contiguously by a process. If nsslapd-dbncache is 0 or 1 , the cache will be allocated contiguously in memory. If it is greater than 1 , the cache will be broken up into ncache , equally sized separate pieces of memory. To configure a dbcache size larger than 4 gigabytes, add the nsslapd-dbncache attribute to cn=config,cn=ldbm database,cn=plugins,cn=config between the nsslapd-dbcachesize and nsslapd-db-logdirectory attribute lines. Set this value to an integer that is one-quarter (1/4) the amount of memory in gigabytes. For example, for a 12 gigabyte system, set the nsslapd-dbncache value to 3 ; for an 8 gigabyte system, set it to 2 . This attribute is provided only for system modification/diagnostics and should be changed only with the guidance of Red Hat technical support or Red Hat professional services. Inconsistent settings of this attribute and other configuration attributes may cause Directory Server to be unstable. The server has to be restarted for changes to this attribute to go into effect. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 1 to 4 Default Value 1 Syntax Integer Example nsslapd-dbncache: 1 6.4.2.20. nsslapd-db-page-size This attribute specifies the size of the pages used to hold items in the database in bytes. The minimum size is 512 bytes, and the maximum size is 64 kilobytes. If the page size is not explicitly set, Directory Server defaults to a page size of 8 kilobytes. Changing this default value can have a significant performance impact. If the page size is too small, it results in extensive page splitting and copying, whereas if the page size is too large it can waste disk space. Before modifying the value of this attribute, export all databases using the db2ldif script. Once the modification has been made, reload the databases using the ldif2db script. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 512 bytes to 64 kilobytes Default Value 8KB Syntax Integer Example nsslapd-db-page-size: 8KB 6.4.2.21. nsslapd-db-spin-count This attribute specifies the number of times that test-and-set mutexes should spin without blocking. Warning Never touch this value unless you are very familiar with the inner workings of Berkeley DB or are specifically told to do so by Red Hat support. The default value of 0 causes BDB to calculate the actual value by multiplying the number of available CPU cores (as reported by the nproc utility or the sysconf(_SC_NPROCESSORS_ONLN) call) by 50 . For example, with a processor with 8 logical cores, leaving this attribute set to 0 is equivalent to setting it to 400 . It is not possible to turn spinning off entirely - if you want to minimize the amount of times test-and-set mutexes will spin without blocking, set this attribute to 1 . Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 2147483647 (2^31-1) Default Value 0 Syntax Integer Example nsslapd-db-spin-count: 0 6.4.2.22. nsslapd-db-transaction-batch-max-wait If nsslapd-db-transaction-batch-val is set, the flushing of transactions is done by a separate thread when the set batch value is reached. However if there are only a few updates, this process might take too long. This parameter controls when transactions should be flushed latest, independently of the batch count. The values is defined in milliseconds. Warning This parameter is experimental. Never change its value unless you are specifically told to do so by the Red Hat support. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 - 2147483647 (value in milliseconds) Default Value 50 Syntax Integer Example nsslapd-db-transaction-batch-max-wait: 50 6.4.2.23. nsslapd-db-transaction-batch-min-wait If nsslapd-db-transaction-batch-val is set, the flushing of transactions is done by a separate thread when the set batch value is reached. However if there are only a few updates, this process might take too long. This parameter controls when transactions should be flushed earliest, independently of the batch count. The values is defined in milliseconds. Warning This parameter is experimental. Never change its value unless you are specifically told to do so by the Red Hat support. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 - 2147483647 (value in milliseconds) Default Value 50 Syntax Integer Example nsslapd-db-transaction-batch-min-wait: 50 6.4.2.24. nsslapd-db-transaction-batch-val This attribute specifies how many transactions will be batched before being committed. This attribute can improve update performance when full transaction durability is not required. This attribute can be dynamically modified using ldapmodify . Warning Setting this value will reduce data consistency and may lead to loss of data. This is because if there is a power outage before the server can flush the batched transactions, those transactions in the batch will be lost. Do not set this value unless specifically requested to do so by Red Hat support. If this attribute is not defined or is set to a value of 0 , transaction batching will be turned off, and it will be impossible to make remote modifications to this attribute using LDAP. However, setting this attribute to a value greater than 0 causes the server to delay committing transactions until the number of queued transactions is equal to the attribute value. A value greater than 0 also allows modifications to this attribute remotely using LDAP. A value of 1 for this attribute allows modifications to the attribute setting remotely using LDAP, but results in no batching behavior. A value of 1 at server startup is therefore useful for maintaining normal durability while also allowing transaction batching to be turned on and off remotely when required. Remember that the value for this attribute may require modifying the nsslapd-db-logbuf-size attribute to ensure sufficient log buffer size for accommodating the batched transactions. Note The nsslapd-db-transaction-batch-val attribute is only valid if the nsslapd-db-durable-transaction attribute is set to on . Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 30 Default Value 0 (or turned off) Syntax Integer Example nsslapd-db-transaction-batch-val: 5 6.4.2.25. nsslapd-db-trickle-percentage This attribute sets that at least the specified percentage of pages in the shared-memory pool are clean by writing dirty pages to their backing files. This is to ensure that a page is always available for reading in new information without having to wait for a write. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to 100 Default Value 40 Syntax Integer Example nsslapd-db-trickle-percentage: 40 6.4.2.26. nsslapd-db-verbose This attribute specifies whether to record additional informational and debugging messages when searching the log for checkpoints, doing deadlock detection, and performing recovery. This parameter is meant for troubleshooting, and enabling the parameter may slow down Directory Server. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-db-verbose: off 6.4.2.27. nsslapd-import-cache-autosize This performance tuning-related attribute automatically sets the size of the import cache ( importCache ) to be used during the command-line-based import process of LDIF files to the database (the ldif2db operation). In Directory Server, the import operation can be run as a server task or exclusively on the command-line. In the task mode, the import operation runs as a general Directory Server operation. The nsslapd-import-cache-autosize attribute enables the import cache to be set automatically to a predetermined size when the import operation is run on the command-line. The attribute can also be used by Directory Server during the task mode import for allocating a specified percentage of free memory for import cache. By default, the nsslapd-import-cache-autosize attribute is enabled and is set to a value of -1 . This value autosizes the import cache for the ldif2db operation only, automatically allocating fifty percent (50%) of the free physical memory for the import cache. The percentage value (50%) is hard-coded and cannot be changed. Setting the attribute value to 50 ( nsslapd-import-cache-autosize: 50 ) has the same effect on performance during an ldif2db operation. However, such a setting will have the same effect on performance when the import operation is run as a Directory Server task. The -1 value autosizes the import cache just for the ldif2db operation and not for any, including import, general Directory Server tasks. Note The purpose of a -1 setting is to enable the ldif2db operation to benefit from free physical memory but, at the same time, not compete for valuable memory with the entry cache, which is used for general operations of Directory Server. Setting the nsslapd-import-cache-autosize attribute value to 0 turns off the import cache autosizing feature - that is, no autosizing occurs during either mode of the import operation. Instead, Directory Server uses the nsslapd-import-cachesize attribute for import cache size, with a default value of 20000000 . There are three caches in the context of Directory Server: database cache, entry cache, and import cache. The import cache is only used during the import operation. The nsslapd-cache-autosize attribute, which is used for autosizing the entry cache and database cache, is used during the Directory Server operations only and not during the ldif2db command-line operation; the attribute value is the percentage of free physical memory to be allocated for the entry cache and database cache. If both the autosizing attributes, nsslapd-cache-autosize and nsslapd-import-cache-autosize , are enabled, ensure that their sum is less than 100. Parameter Description Entry DN cn=bdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Range -1, 0 (turns import cache autosizing off) to 100 Default Value -1 (turns import cache autosizing on for ldif2db only and allocates 50% of the free physical memory to import cache) Syntax Integer Example nsslapd-import-cache-autosize: -1 6.4.2.28. nsslapd-search-bypass-filter-test If you enable the nsslapd-search-bypass-filter-test parameter, Directory Server bypasses filter checks when it builds candidate lists during a search. If you set the parameter to verify , Directory Server evaluates the filter against the search candidate entries. Parameter Description Entry DN cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values on | off | verify Default Value on Syntax Directory String Example nsslapd-search-bypass-filter-test: on 6.4.3. Database attributes under cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config The section covers global Lightning Memory-Mapped Database Manager (LMDB) configuration attributes that are stored in the cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config tree node and are common to all instances. 6.4.3.1. nsslapd-mdb-max-dbs The nsslapd-mdb-max-dbs attribute sets the maximum number of named database instances that can be included within the memory mapped database file. If the attribute value is set to zero ( 0 ), Directory Server computes this attribute value. Each suffix and default indexes consume 35 named databases. Each additional index consumes one named database. With the default value of 512, you can create up to 14 suffixes. To apply changes to the attribute value, you must restart the server. Parameter Description Entry DN cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0-2147483647 Default Value 512 Syntax Integer Example nsslapd-mdb-max-dbs: 512 6.4.3.2. nsslapd-mdb-max-readers The nsslapd-mdb-max-readers attribute sets the maximun number of read operations that can be opened simultaneously. If the attribute value is set to zero ( 0 ), Directory Server computes this attribute value. To apply changes to the attribute value, you must restart the server. Parameter Description Entry DN cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 0-2147483647 Default Value 0 Syntax Integer Example nsslapd-mdb-max-readers:0 6.4.3.3. nsslapd-mdb-max-size The nsslapd-mdb-max-size attribute sets the database maximum size in bytes. The maximum size of the Lightning Memory-Mapped Database Manager (LMDB) database is limited by the system addressable memory. Important Make sure that the value of nsslapd-mdb-max-size is high enough to store all intended data. However, the value must not be too high to impact the performance because the database file is memory-mapped. You can use the database size in the Directory Server Hardware requirements for a reference. To apply changes to the attribute value, you must restart the server. Parameter Description Entry DN cn=mdb,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values 512 to maximum 32-bit integer (limited to the amount of memory available on the machine) Default Value 21474836480 Syntax Integer Example nsslapd-mdb-max-size:21474836480 6.4.4. Database attributes under cn=monitor,cn=ldbm database,cn=plugins,cn=config Global read-only attributes containing database statistics for monitoring activity on the databases are stored in the cn=monitor,cn=ldbm database,cn=plugins,cn=config tree node. 6.4.4.1. currentNormalizedDNcachecount Number of normalized cached DNs. 6.4.4.2. currentNormalizedDNcachesize Current size of the normalized DN cache in bytes. 6.4.4.3. dbcachehitratio This attribute shows the percentage of requested pages found in the database cache (hits/tries). 6.4.4.4. dbcachehits This attribute shows the requested pages found in the database. 6.4.4.5. dbcachepagein This attribute shows the pages read into the database cache. 6.4.4.6. dbcachepageout This attribute shows the pages written from the database cache to the backing file. 6.4.4.7. dbcacheroevict This attribute shows the clean pages forced from the cache. 6.4.4.8. dbcacherwevict This attribute shows the dirty pages forced from the cache. 6.4.4.9. dbcachetries This attribute shows the total cache lookups. 6.4.4.10. maxNormalizedDNcachesize Current value of the nsslapd-ndn-cache-max-size parameter. For details how to update this setting, see Section 2.1.135, "nsslapd-ndn-cache-max-size" . 6.4.4.11. normalizedDNcachehitratio Percentage of the normalized DNs found in the cache. 6.4.4.12. normalizedDNcachehits Normalized DNs found within the cache. 6.4.4.13. normalizedDNcachemisses Normalized DNs not found within the cache. 6.4.4.14. normalizedDNcachetries Total number of cache lookups since the instance was started. 6.4.5. Database attributes under cn= database_name ,cn=ldbm database,cn=plugins,cn=config The cn= database_name subtree contains all the configuration data for the user-defined database. The cn=userRoot subtree is called userRoot by default. However, this is not hard-coded and, given the fact that there are going to be multiple database instances, this name is changed and defined by the user as and when new databases are added. The cn=userRoot database referenced can be any user database. The following attributes are common to databases, such as cn=userRoot . 6.4.5.1. nsslapd-cachememsize This performance tuning-related attribute specifies the size, in bytes, for the available memory space for the entry cache. The simplest method is limiting cache size in terms of memory occupied. Activating automatic cache resizing overrides this attribute, replacing these values with its own guessed values at a later stage of the server startup. Attempting to set a value that is not a number or is too big for a 32-bit signed integer (on 32-bit systems) returns an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem. The performance counter for this setting goes to the highest 64-bit integer, even on 32-bit systems, but the setting itself is limited on 32-bit systems to the highest 32-bit integer because of how the system addresses memory. Note Do not set the database cache size manually. Red Hat recommends to use the entry cache auto-sizing feature for optimized performance. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 500 kilobytes to 2 64 -1 on 64-bit systems Default Value 209715200 (200 MiB) Syntax Integer Example nsslapd-cachememsize: 209715200 6.4.5.2. nsslapd-cachesize This attribute has been deprecated. To resize the entry cache, use nsslapd-cachememsize. This performance tuning-related attribute specifies the cache size in terms of the number of entries it can hold. However, this attribute is deprecated in favor of the nsslapd-cachememsize attribute, which sets an absolute allocation of RAM for the entry cache size, as described in Section 6.4.5.1, "nsslapd-cachememsize" Attempting to set a value that is not a number or is too big for a 32-bit signed integer (on 32-bit systems) returns an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem. The server has to be restarted for changes to this attribute to go into effect. Note The performance counter for this setting goes to the highest 64-bit integer, even on 32-bit systems, but the setting itself is limited on 32-bit systems to the highest 32-bit integer because of how the system addresses memory. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 1 to 2 32 -1 on 32-bit systems or 2 63 -1 on 64-bit systems or -1, which means limitless Default Value -1 Syntax Integer Example nsslapd-cachesize: -1 6.4.5.3. nsslapd-directory This attribute specifies the path to the database instance. If it is a relative path, it starts from the path specified by nsslapd-directory in the global database entry cn=config,cn=ldbm database,cn=plugins,cn=config . The database instance directory is named after the instance name and located in the global database directory, by default. After the database instance has been created, do not modify this path, because any changes risk preventing the server from accessing data. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid path to the database instance Default Value Syntax DirectoryString Example nsslapd-directory: /var/lib/dirsrv/slapd- instance /db/userRoot 6.4.5.4. nsslapd-dncachememsize This performance tuning-related attribute specifies the size, in bytes, for the available memory space for the DN cache. The DN cache is similar to the entry cache for a database, only its table stores only the entry ID and the entry DN. This allows faster lookups for rename and moddn operations. The simplest method is limiting cache size in terms of memory occupied. Attempting to set a value that is not a number or is too big for a 32-bit signed integer (on 32-bit systems) returns an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem. Note The performance counter for this setting goes to the highest 64-bit integer, even on 32-bit systems, but the setting itself is limited on 32-bit systems to the highest 32-bit integer because of how the system addresses memory. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 500 kilobytes to 2 32 -1 on 32-bit systems and to 2 64 -1 on 64-bit systems Default Value 10,485,760 (10 megabytes) Syntax Integer Example nsslapd-dncachememsize: 10485760 6.4.5.5. nsslapd-readonly This attribute specifies read-only mode for a single back-end instance. If this attribute has a value of off , then users have all read, write, and execute permissions allowed by their access permissions. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-readonly: off 6.4.5.6. nsslapd-require-index When switched to on , this attribute allows one to refuse unindexed searches. This performance-related attribute avoids saturating the server with erroneous searches. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-require-index: off 6.4.5.7. nsslapd-require-internalop-index When a plug-in modifies data, it has a write lock on the database. On large databases, if a plug-in then executes an unindexed search, the plug-in can use all database locks and corrupt the database or the server becomes unresponsive. To avoid this problem, you can reject internal unindexed searches by enabling the nsslapd-require-internalop-index parameter. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsslapd-require-internalop-index: off 6.4.5.8. nsslapd-suffix This attribute specifies the suffix of the database link . This is a single-valued attribute because each database instance can have only one suffix. Previously, it was possible to have more than one suffix on a single database instance, but this is no longer the case. As a result, this attribute is single-valued to enforce the fact that each database instance can only have one suffix entry. Any changes made to this attribute after the entry has been created take effect only after the server containing the database link is restarted. Parameter Description Entry DN cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid DN Default Value Syntax DirectoryString Example nsslapd-suffix: o=Example 6.4.5.9. vlvBase This attribute sets the base DN for which the browsing or virtual list view (VLV) index is created. Parameter Description Entry DN cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid DN Default Value Syntax DirectoryString Example vlvBase: ou=People,dc=example,dc=com 6.4.5.10. vlvEnabled The vlvEnabled attribute provides status information about a specific VLV index, and Directory Server sets this attribute at run time. Although vlvEnabled is shown in the configuration, you cannot modify this attribute. Parameter Description Entry DN cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values 0 (disabled) | 1 (enabled) Default Value 1 Syntax DirectoryString Example vlvEnbled: 0 6.4.5.11. vlvFilter The browsing or virtual list view (VLV) index is created by running a search according to a filter and including entries which match that filter in the index. The filter is specified in the vlvFilter attribute. Parameter Description Entry DN cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid LDAP filter Default Value Syntax DirectoryString Example vlvFilter: (|(objectclass=*)(objectclass=ldapsubentry)) 6.4.5.12. vlvIndex A browsing index or virtual list view (VLV) index dynamically generates an abbreviated index of entry headers that makes it much faster to visually browse large indexes. A VLV index definition has two parts: one which defines the index and one which defines the search used to identify entries to add to the index. The vlvIndex object class defines the index entry. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.42 Table 6.2. Required Attributes Attribute Definition objectClass Defines the object classes for the entry. cn Gives the common name of the entry. vlvSort Identifies the attribute list that the browsing index (virtual list view index) is sorted on. Table 6.3. Allowed Attributes Attribute Definition vlvEnabled Stores the availability of the browsing index. vlvUses Contains the count the browsing index is used. 6.4.5.13. vlvScope This attribute sets the scope of the search to run for entries in the browsing or virtual list view (VLV) index. Parameter Description Entry DN cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values * 1 (one-level or children search) * 2 (subtree search) Default Value Syntax Integer Example vlvScope: 2 6.4.5.14. vlvSearch A browsing index or virtual list view (VLV) index dynamically generates an abbreviated index of entry headers that makes it much faster to visually browse large indexes. A VLV index definition has two parts: one which defines the index and one which defines the search used to identify entries to add to the index. The vlvSearch object class defines the search filter entry. This object class is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.38 Table 6.4. Required Attributes Attribute Definition objectClass Defines the object classes for the entry. vlvBase Identifies base DN the browsing index is created. vlvScope Identifies the scope to define the browsing index. vlvFilter Identifies the filter string to define the browsing index. Table 6.5. Allowed Attributes Attribute Definition multiLineDescription Gives a text description of the entry. 6.4.5.15. vlvSort This attribute sets the sort order for returned entries in the browsing or virtual list view (VLV) index. Note The entry for this attribute is a vlvIndex entry beneath the vlvSearch entry. Parameter Description Entry DN cn= index_name ,cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values Any Directory Server attributes, in a space-separated list Default Value Syntax DirectoryString Example vlvSort: cn givenName o ou sn 6.4.5.16. vlvUses The vlvUses attribute contains the count the browsing index uses, and Directory Server sets this attribute at run time. Although vlvUses is shown in the configuration, you cannot modify this attribute. Parameter Description Entry DN cn= index_name ,cn=userRoot,cn=ldbm database,cn=plugins,cn=config Valid Values N/A Default Value Syntax DirectoryString Example vlvUses: 800 6.4.6. Database attributes under cn=database,cn=monitor,cn=ldbm database,cn=plugins,cn=config The attributes in this tree node entry are all read-only, database performance counters. All of the values for these attributes are 32-bit integers, except for entrycachehits and entrycachetries . If the nsslapd-counters attribute in cn=config is set to on , then some of the counters kept by the Directory Server instance increment using 64-bit integers, even on 32-bit machines or with a 32-bit version of Directory Server. For the database monitoring, the entrycachehits and entrycachetries counters use 64-bit integers. Note The nsslapd-counters attribute enables 64-bit support for these specific database and server counters. The counters which use 64-bit integers are not configurable; the 64-bit integers are either enabled for all the allowed counters or disabled for all allowed counters. 6.4.6.1. currentdncachecount This attribute shows the number of DNs currently present in the DN cache. 6.4.6.2. currentdncachesize This attribute shows the total size, in bytes, of DNs currently present in the DN cache. 6.4.6.3. maxdncachesize This attribute shows the maximum size, in bytes, of DNs that can be maintained in the database DN cache. 6.4.6.4. nsslapd-db-abort-rate This attribute shows the number of transactions that have been aborted. 6.4.6.5. nsslapd-db-active-txns This attribute shows the number of transactions that are currently active. 6.4.6.6. nsslapd-db-cache-hit This attribute shows the requested pages found in the cache. 6.4.6.7. nsslapd-db-cache-region-wait-rate This attribute shows the number of times that a thread of control was forced to wait before obtaining the region lock. 6.4.6.8. nsslapd-db-cache-size-bytes This attribute shows the total cache size in bytes. 6.4.6.9. nsslapd-db-cache-try This attribute shows the total cache lookups. 6.4.6.10. nsslapd-db-clean-pages This attribute shows the clean pages currently in the cache. 6.4.6.11. nsslapd-db-commit-rate This attribute shows the number of transactions that have been committed. 6.4.6.12. nsslapd-db-deadlock-rate This attribute shows the number of deadlocks detected. 6.4.6.13. nsslapd-db-dirty-pages This attribute shows the dirty pages currently in the cache. 6.4.6.14. nsslapd-db-hash-buckets This attribute shows the number of hash buckets in buffer hash table. 6.4.6.15. nsslapd-db-hash-elements-examine-rate This attribute shows the total number of hash elements traversed during hash table lookups. 6.4.6.16. nsslapd-db-hash-search-rate This attribute shows the total number of buffer hash table lookups. 6.4.6.17. nsslapd-db-lock-conflicts This attribute shows the total number of locks not immediately available due to conflicts. 6.4.6.18. nsslapd-db-lockers This attribute shows the number of current lockers. 6.4.6.19. nsslapd-db-lock-region-wait-rate This attribute shows the number of times that a thread of control was forced to wait before obtaining the region lock. 6.4.6.20. nsslapd-db-lock-request-rate This attribute shows the total number of locks requested. 6.4.6.21. nsslapd-db-log-bytes-since-checkpoint This attribute shows the number of bytes written to this log since the last checkpoint. 6.4.6.22. nsslapd-db-log-region-wait-rate This attribute shows the number of times that a thread of control was forced to wait before obtaining the region lock. 6.4.6.23. nsslapd-db-log-write-rate This attribute shows the number of megabytes and bytes written to this log. 6.4.6.24. nsslapd-db-longest-chain-length This attribute shows the longest chain ever encountered in buffer hash table lookups. 6.4.6.25. nsslapd-db-page-create-rate This attribute shows the pages created in the cache. 6.4.6.26. nsslapd-db-page-read-rate This attribute shows the pages read into the cache. 6.4.6.27. nsslapd-db-page-ro-evict-rate This attribute shows the clean pages forced from the cache. 6.4.6.28. nsslapd-db-page-rw-evict-rate This attribute shows the dirty pages forced from the cache. 6.4.6.29. nsslapd-db-pages-in-use This attribute shows all pages, clean or dirty, currently in use. 6.4.6.30. nsslapd-db-page-trickle-rate This attribute shows the dirty pages written using the memp_trickle interface. 6.4.6.31. nsslapd-db-page-write-rate This attribute shows the pages read into the cache. 6.4.6.32. nsslapd-db-txn-region-wait-rate This attribute shows the number of times that a thread of control was force to wait before obtaining the region lock. 6.4.7. Database attributes under cn=changelog,cn=database_name,cn=ldbm database,cn=plugins,cn=config In the multi-supplier replication, Directory Server stores changelog configuration entries under the cn=changelog,cn=database_name,cn=ldbm database,cn=plugins,cn=config entry that has top and extensibleObject object classes. Note The term changelog may refer to: Changelog The actual changelog in the multi-supplier replication that uses attributes described in this chapter. Retro Changelog The plug-in that Directory Server uses for compatibility with certain legacy applications. Fore more information, see Section 6.3.49, "Retro Changelog plug-in" . 6.4.7.1. cn The cn attribute sets the relative distinguished name (RDN) of a changelog entry. This attribute is mandatory. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any string Default Value changelog Syntax DirectoryString Example cn=changelog,cn=userRoot,cn=ldbm database,cn=plugins 6.4.7.2. nsslapd-changelogmaxage When synchronizing with a consumer, Directory Server stores each update in the changelog with a time stamp. The nsslapd-changelogmaxage attribute sets the maximum age of a record stored in the changelog. Directory Server automatically removes older records that were successfully transferred to all consumers. By default, Directory Server removes records that are older than seven days. However, if you disable the nsslapd-changelogmaxage and nsslapd-changelogmaxentries attributes, Directory Server will keep all records in the changelog, and it can lead to the excessive growth of the changelog file. Note Retro changelog has its own nsslapd-changelogmaxage attribute. For more information, see Retro changelog nsslapd-changelogmaxage The attribute change does not require the server restart, however the change takes effect after the trim operation that is scheduled according to the nsslapd-changelogtrim-interval attribute setting. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 0 (entries are not removed according to their age) to maximum 32-bit integer (2147483647) Default Value 7d Syntax DirectoryString IntegerAgeID , where AgeID is: s ( S ) for seconds m ( M ) for minutes h ( H ) for hours d ( D ) for days w ( W ) for weeks If you set only the integer value without the AgeID then Directory Server takes it as seconds. Example nsslapd-changelogmaxage: 30d 6.4.7.3. nsslapd-changelogmaxentries The nsslapd-changelogmaxentries attribute sets the maximum number of records stored in the changelog. If the number of the oldest records that were successfully transferred to all consumers exceeds the nsslapd-changelogmaxentries value, Directory Server automatically removes these records from the changelog. If you set the nsslapd-changelogmaxentries and nsslapd-changelogmaxage attribute to 0 , Directory Server keeps all records in the changelog, which can lead to the excessive growth of the changelog file. Note Directory Server does not automatically reduce the file size of the replication changelog if you set a lower value in the nsslapd-changelogmaxentries attribute. The attribute change does not require the server restart, however the change takes effect after the trim operation that is scheduled according to the nsslapd-changelogtrim-interval attribute setting. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 0 (the only maximum limit is the disk size) to maximum 32-bit integer (2147483647) Default Value 0 Syntax Integer Example nsslapd-changelogmaxentries: 5000 6.4.7.4. nsslapd-changelogtrim-interval Directory Server repeatedly runs a trimming process on the changelog. To change the time between two runs, update the nsslapd-changelogtrim-interval attribute and set the interval in seconds. The attribute change does not require the server restart, however the change takes effect after the trim operation. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range 0 to the maximum 32 bit integer value (2147483647) Default Value 300 (5 minutes) Syntax DirectoryString Example nsslapd-changelogtrim-interval: 300 6.4.7.5. nsslapd-encryptionalgorithm The nsslapd-encryptionalgorithm attribute specifies the encryption algorithm Directory Server uses for the changelog encryption. To enable the changelog encryption, you must install the server certificate on the directory server. You must restart the server to apply the attribute value changes. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range AES or 3DES Default Value None Syntax DirectoryString Example nsslapd-encryptionalgorithm: AES 6.4.7.6. nsSymmetricKey The nsSymmetricKey attribute stores the internally-generated symmetric key. You must restart the server to apply the attribute value changes. Parameter Description Entry DN cn=changelog,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Range Base 64-encoded key Default Value None Syntax DirectoryString Example None 6.4.8. Database attributes under cn=monitor,cn= database_name ,cn=ldbm database,cn=plugins,cn=config The attributes in this tree node entry are all read-only, database performance counters. If the nsslapd-counters attribute in cn=config is set to on , then some of the counters kept by the Directory Server instance increment using 64-bit integers, even on 32-bit machines or with a 32-bit version of Directory Server. For database monitoring, the entrycachehits and entrycachetries counters use 64-bit integers. Note The nsslapd-counters attribute enables 64-bit support for these specific database and server counters. The counters which use 64-bit integers are not configurable; the 64-bit integers are either enabled for all the allowed counters or disabled for all allowed counters. 6.4.8.1. currentDNcachecount Number of cached DNs. 6.4.8.2. currentDNcachesize Current size of the DN cache in bytes. 6.4.8.3. dbfilecachehit- number This attribute gives the number of times that a search requiring data from this file was performed and that the data were successfully obtained from the cache. The number in this attributes name corresponds to the one in dbfilename . 6.4.8.4. dbfilecachemiss- number This attribute gives the number of times that a search requiring data from this file was performed and that the data could not be obtained from the cache. The number in this attributes name corresponds to the one in dbfilename . 6.4.8.5. dbfilename- number This attribute gives the name of the file and provides a sequential integer identifier (starting at 0) for the file. All associated statistics for the file are given this same numerical identifier. 6.4.8.6. dbfilepagein- number This attribute gives the number of pages brought to the cache from this file. The number in this attributes name corresponds to the one in dbfilename . 6.4.8.7. dbfilepageout- number This attribute gives the number of pages for this file written from cache to disk. The number in this attributes name corresponds to the one in dbfilename . 6.4.8.8. DNcachehitratio Percentage of the DNs found in the cache. 6.4.8.9. DNcachehits DNs found within the cache. 6.4.8.10. DNcachemisses DNs not found within the cache. 6.4.8.11. DNcachetries Total number of cache lookups since the instance was started. 6.4.8.12. maxDNcachesize Current value of the nsslapd-ndn-cache-max-size parameter. For details how to update this setting, see Section 2.1.135, "nsslapd-ndn-cache-max-size" . 6.4.9. Database attributes under cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config The set of default indexes is stored here. Default indexes are configured per back end in order to optimize Directory Server functionality for the majority of setup scenarios. All indexes, except system-essential ones, can be removed, but care should be taken so as not to cause unnecessary disruptions. 6.4.9.1. cn This attribute provides the name of the attribute to index. Parameter Description Entry DN cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid index cn Default Value None Syntax DirectoryString Example cn: aci 6.4.9.2. nsIndex This object class defines an index in the back end database. This object is defined in Directory Server. Superior Class top OID 2.16.840.1.113730.3.2.44 Table 6.6. Required Attributes Attribute Definition objectClass Defines the object classes for the entry. cn Gives the common name of the entry. nsSystemIndex Identify whether or not the index is a system defined index. Table 6.7. Allowed Attributes Attribute Definition description Gives a text description of the entry. nsIndexType Identifies the index type. nsMatchingRule Identifies the matching rule. 6.4.9.3. nsIndexType This optional, multi-valued attribute specifies the type of index for Directory Server operations and takes the values of the attributes to be indexed. Each required index type has to be entered on a separate line. Parameter Description Entry DN cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values * pres = presence index * eq = equality index * approx = approximate index * sub = substring index * matching rule = international index * index browse = browsing index Default Value Syntax DirectoryString Example nsIndexType: eq 6.4.9.4. nsMatchingRule This optional, multi-valued attribute specifies the ordering matching rule name or OID used to match values and to generate index keys for the attribute. This is most commonly used to ensure that equality and range searches work correctly for languages other than English (7-bit ASCII). This is also used to allow range searches to work correctly for integer syntax attributes that do not specify an ordering matching rule in their schema definition. uidNumber and gidNumber are two commonly used attributes that fall into this category. For example, for a uidNumber that uses integer syntax, the rule attribute could be nsMatchingRule: integerOrderingMatch . Note Any change to this attribute will not take effect until the change is saved and the index is rebuilt using db2index command. Parameter Description Entry DN cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values Any valid collation order object identifier (OID) Default Value None Syntax DirectoryString Example nsMatchingRule: 2.16.840.1.113730.3.3.2.3.1 (For Bulgarian) 6.4.9.5. nsSystemIndex This mandatory attribute specifies whether the index is a system index , an index which is vital for Directory Server operations. If this attribute has a value of true , then it is system-essential. System indexes should not be removed, as this will seriously disrupt server functionality. Parameter Description Entry DN cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config Valid Values true | false Default Value Syntax DirectoryString Example nssystemindex: true 6.4.10. Database attributes under cn=index, cn=database_name ,cn=ldbm database,cn=plugins,cn=config In addition to the set of default indexes that are stored under cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config , custom indexes can be created for user-defined back end instances; these are stored under cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config . For example, the index file for the aci attribute under o=UserRoot appears in Directory Server as follows: dn:cn=aci,cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config objectclass:top objectclass:nsIndex cn:aci nsSystemIndex:true nsIndexType:pres These entries share all of the indexing attributes listed for the default indexes in Section 6.4.9, "Database attributes under cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config" . 6.4.10.1. nsIndexIDListScanLimit This multi-valued parameter defines a search limit for certain indices or to use no ID list. Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Default Value Syntax DirectoryString Example nsIndexIDListScanLimit: limit=0 type=eq values=inetorgperson 6.4.10.2. nsSubStrBegin By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrBegin attribute sets the required number of characters for an indexed search for the beginning of a search string, before the wildcard. For example: abc* If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrBegin: 2 6.4.10.3. nsSubStrEnd By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrEnd attribute sets the required number of characters for an indexed search for the end of a search string, after the wildcard. For example: *xyz If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrEnd: 2 6.4.10.4. nsSubStrMiddle By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrMiddle attribute sets the required number of characters for an indexed search where a wildcard is used in the middle of a search string. For example: ab*z If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrMiddle: 3 6.4.11. Database attributes under cn= attribute_name ,cn=encrypted attributes,cn= database_name ,cn=ldbm database,cn=plugins,cn=config In addition to the set of default indexes that are stored under cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config , custom indexes can be created for user-defined back end instances; these are stored under cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config . For example, the index file for the aci attribute under o=UserRoot appears in Directory Server as follows: dn:cn=aci,cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config objectclass:top objectclass:nsIndex cn:aci nsSystemIndex:true nsIndexType:pres These entries share all of the indexing attributes listed for the default indexes in Section 6.4.9, "Database attributes under cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config" . 6.4.11.1. nsIndexIDListScanLimit This multi-valued parameter defines a search limit for certain indices or to use no ID list. Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Default Value Syntax DirectoryString Example nsIndexIDListScanLimit: limit=0 type=eq values=inetorgperson 6.4.11.2. nsSubStrBegin By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrBegin attribute sets the required number of characters for an indexed search for the beginning of a search string, before the wildcard. For example: abc* If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrBegin: 2 6.4.11.3. nsSubStrEnd By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrEnd attribute sets the required number of characters for an indexed search for the end of a search string, after the wildcard. For example: *xyz If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrEnd: 2 6.4.11.4. nsSubStrMiddle By default, for a search to be indexed, the search string must be at least three characters long, without counting any wildcard characters. For example, the string abc would be an indexed search while ab* would not be. Indexed searches are significantly faster than unindexed searches, so changing the minimum length of the search key is helpful to increase the number of indexed searches. This substring length can be edited based on the position of any wildcard characters. The nsSubStrMiddle attribute sets the required number of characters for an indexed search where a wildcard is used in the middle of a search string. For example: ab*z If the value of this attribute is changed, then the index must be regenerated using db2index . Parameter Description Entry DN cn= attribute_name ,cn=index,cn= database_name ,cn=ldbm database,cn=plugins,cn=config Valid Values Any integer Default Value 3 Syntax Integer Example nsSubStrMiddle: 3 6.5. Database link plug-in attributes The database link plug-in attributes are also organized in an information tree. All plug-in technology used by the database link instances is stored in the cn=chaining database plug-in node. This section presents the additional attribute information for the three nodes marked in bold in the cn=chaining database,cn=plugins,cn=config information tree in diagram. 6.5.1. Database link attributes under cn=config,cn=chaining database,cn=plugins,cn=config This section covers global configuration attributes common to all instances are stored in the cn=config,cn=chaining database,cn=plugins,cn=config tree node. 6.5.1.1. nsActiveChainingComponents This attribute lists the components using chaining. A component is any functional unit in the server. The value of this attribute overrides the value in the global configuration attribute. To disable chaining on a particular database instance, use the value None . This attribute also allows the components used to chain to be altered. By default, no components are allowed to chain, which explains why this attribute will probably not appear in a list of cn=config,cn=chaining database,cn=config attributes, as LDAP considers empty attributes to be non-existent. Parameter Description Entry DN cn=config,cn=chaining database,cn=plugins,cn=config Valid Values Any valid component entry Default Value None Syntax DirectoryString Example nsActiveChainingComponents: cn=uid uniqueness,cn=plugins,cn=config 6.5.1.2. nsMaxResponseDelay This error detection, performance-related attribute specifies the maximum amount of time it can take a remote server to respond to an LDAP operation request made by a database link before an error is suspected. Once this delay period has been met, the database link tests the connection with the remote server. Parameter Description Entry DN cn=config,cn=chaining database,cn=plugins,cn=config Valid Values Any valid delay period in seconds Default Value 60 seconds Syntax Integer Example nsMaxResponseDelay: 60 6.5.1.3. nsMaxTestResponseDelay This error detection, performance-related attribute specifies the duration of the test issued by the database link to check whether the remote server is responding. If a response from the remote server is not returned before this period has passed, the database link assumes the remote server is down, and the connection is not used for subsequent operations. Parameter Description Entry DN cn=config,cn=chaining database,cn=plugins,cn=config Valid Values Any valid delay period in seconds Default Value 15 seconds Syntax Integer Example nsMaxTestResponseDelay: 15 6.5.1.4. nsTransmittedControls This attribute, which can be both a global (and thus dynamic) configuration or an instance (that is, cn= database link instance , cn=chaining database,cn=plugins,cn=config ) configuration attribute, allows the controls the database link forwards to be altered. The following controls are forwarded by default by the database link: Managed DSA (OID: 2.16.840.1.113730.3.4.2) Virtual list view (VLV) (OID: 2.16.840.1.113730.3.4.9) Server side sorting (OID: 1.2.840.113556.1.4.473) Loop detection (OID: 1.3.6.1.4.1.1466.29539.12) Other controls, such as dereferencing and simple paged results for searches, can be added to the list of controls to forward. Parameter Description Entry DN cn=config,cn=chaining database,cn=plugins,cn=config Valid Values Any valid OID or the above listed controls forwarded by the database link Default Value None Syntax Integer Example nsTransmittedControls: 1.2.840.113556.1.4.473 6.5.2. Database link attributes under cn=default instance config,cn=chaining database,cn=plugins,cn=config Default instance configuration attributes for instances are housed in the cn=default instance config,cn=chaining database,cn=plugins,cn=config tree node. 6.5.2.1. nsAbandonedSearchCheckInterval This attribute shows the number of seconds that pass before the server checks for abandoned operations. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 0 to maximum 32-bit integer (2147483647) seconds Default Value 1 Syntax Integer Example nsAbandonedSearchCheckInterval: 10 6.5.2.2. nsBindConnectionsLimit This attribute shows the maximum number of TCP connections the database link establishes with the remote server. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 1 to 50 connections Default Value 3 Syntax Integer Example nsBindConnectionsLimit: 3 6.5.2.3. nsBindRetryLimit Contrary to what the name suggests, this attribute does not specify the number of times a database link re tries to bind with the remote server but the number of times it tries to bind with the remote server. A value of 1 here indicates that the database link only attempts to bind once. Note Retries only occur for connection failures and not for other types of errors, such as invalid bind DNs or bad passwords. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 0 to 5 Default Value 3 Syntax Integer Example nsBindRetryLimit: 3 6.5.2.4. nsBindTimeout This attribute shows the amount of time before the bind attempt times out. There is no real valid range for this attribute, except reasonable patience limits. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 0 to 60 seconds Default Value 15 Syntax Integer Example nsBindTimeout: 15 6.5.2.5. nsCheckLocalACI Reserved for advanced use only. This attribute controls whether ACIs are evaluated on the database link as well as the remote data server. Changes to this attribute only take effect once the server has been restarted. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsCheckLocalACI: on 6.5.2.6. nsConcurrentBindLimit This attribute shows the maximum number of concurrent bind operations per TCP connection. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 1 to 25 binds Default Value 10 Syntax Integer Example nsConcurrentBindLimit: 10 6.5.2.7. nsConcurrentOperationsLimit This attribute specifies the maximum number of concurrent operations allowed. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 1 to 50 operations Default Value 2 Syntax Integer Example nsConcurrentOperationsLimit: 5 6.5.2.8. nsConnectionLife This attribute specifies connection lifetime. Connections between the database link and the remote server can be kept open for an unspecified time or closed after a specific period of time. It is faster to keep the connections open, but it uses more resources. When the value is 0 and a list of failover servers is provided in the nsFarmServerURL attribute, the main server is never contacted after failover to the alternate server. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 0 to limitless seconds (where 0 means forever) Default Value 0 Syntax Integer Example nsConnectionLife: 0 6.5.2.9. nsOperationConnectionsLimit This attribute shows the maximum number of LDAP connections the database link establishes with the remote server. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range 1 to n connections Default Value 20 Syntax Integer Example nsOperationConnectionsLimit: 10 6.5.2.10. nsProxiedAuthorization Reserved for advanced use only. If you disable proxied authorization, binds for chained operations are executed as the user set in the nsMultiplexorBindDn attribute. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Values on | off Default Value on Syntax DirectoryString Example nsProxiedAuthorization: on 6.5.2.11. nsReferralOnScopedSearch This attribute controls whether referrals are returned by scoped searches. This attribute can be used to optimize the directory because returning referrals in response to scoped searches is more efficient. A referral is returned to all the configured farm servers. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Values on | off Default Value off Syntax DirectoryString Example nsReferralOnScopedSearch: off 6.5.2.12. nsSizeLimit This attribute shows the default size limit for the database link in bytes. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range -1 (no limit) to maximum 32-bit integer (2147483647) entries Default Value 2000 Syntax Integer Example nsSizeLimit: 2000 6.5.2.13. nsTimeLimit This attribute shows the default search time limit for the database link. Parameter Description Entry DN cn=default instance config,cn=chaining database,cn=plugins,cn=config Valid Range -1 to maximum 32-bit integer (2147483647) seconds Default Value 3600 Syntax Integer Example nsTimeLimit: 3600 6.5.3. Database link attributes under cn= database_link_name ,cn=chaining database,cn=plugins,cn=config This information node stores the attributes concerning the server containing the data. A farm server is a server which contains data on databases. This attribute can contain optional servers for failover, separated by spaces. For cascading chaining, this URL can point to another database link. 6.5.3.1. nsBindMechanism This attribute sets a bind mechanism for the farm server to connect to the remote server. A farm server is a server containing data in one or more databases. This attribute configures the connection type, either standard, TLS, or SASL. empty. This performs simple authentication and requires the nsMultiplexorBindDn and nsMultiplexorCredentials attributes to give the bind information. EXTERNAL. This uses an TLS certificate to authenticate the farm server to the remote server. Either the farm server URL must be set to the secure URL ( ldaps ) or the nsUseStartTLS attribute must be set to on . Additionally, the remote server must be configured to map the farm server's certificate to its bind identity. DIGEST-MD5. This uses SASL with DIGEST-MD5 encryption. As with simple authentication, this requires the nsMultiplexorBindDn and nsMultiplexorCredentials attributes to give the bind information. GSSAPI. This uses Kerberos-based authentication over SASL. The farm server must be connected over the standard port, meaning the URL has ldap , because Directory Server does not support SASL/GS-API over TLS. The farm server must be configured with a Kerberos keytab, and the remote server must have a defined SASL mapping for the farm server's bind identity. Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Values * empty * EXTERNAL * DIGEST-MD5 * GSSAPI Default Value empty Syntax DirectoryString Example nsBindMechanism: GSSAPI 6.5.3.2. nsFarmServerURL This attribute gives the LDAP URL of the remote server. A farm server is a server containing data in one or more databases. This attribute can contain optional servers for failover, separated by spaces. If using cascading changing, this URL can point to another database link. Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Values Any valid remote server LDAP URL Default Value Syntax DirectoryString Example nsFarmServerURL: ldap://farm1.example.com farm2.example.com:389 farm3.example.com:1389/ 6.5.3.3. nshoplimit This attribute specifies the maximum number of times a database is allowed to chain; that is, the number of times a request can be forwarded from one database link to another. Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Range 1 to an appropriate upper limit for the deployment Default Value 10 Syntax Integer Example nsHopLimit: 3 6.5.3.4. nsMultiplexorBindDN This attribute gives the DN of the administrative entry used to communicate with the remote server. The multiplexor is the server that contains the database link and communicates with the farm server. This bind DN cannot be the Directory Manager, and, if this attribute is not specified, the database link binds as anonymous . Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Values Default Value DN of the multiplexor Syntax DirectoryString Example nsMultiplexerBindDN: cn=proxy manager 6.5.3.5. nsMultiplexorCredentials Password for the administrative user, given in plain text. If no password is provided, it means that users can bind as anonymous . The password is encrypted in the configuration file. The example below is what is shown, not what is typed. Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Values Any valid password, which will then be encrypted using the DES reversible password encryption schema Default Value Syntax DirectoryString Example nsMultiplexerCredentials: {DES} 9Eko69APCJfF 6.5.3.6. nsUseStartTLS This attribute sets whether to use Start TLS to initiate a secure, encrypted connection over an insecure port. This attribute can be used if the nsBindMechanism attribute is set to EXTERNAL but the farm server URL set to the standard URL ( ldap ) or if the nsBindMechanism attribute is left empty. Parameter Description Entry DN cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Valid Values off | on Default Value off Syntax DirectoryString Example nsUseStartTLS: on 6.5.4. Database link attributes under cn=monitoring,cn= database_link_name ,cn=chaining database,cn=plugins,cn=config Attributes used for monitoring activity on the instances are stored in the cn=monitor,cn= database instance name ,cn=chaining database,cn=plugins,cn=config information tree. 6.5.4.1. nsAbandonCount This attribute gives the number of abandon operations received. 6.5.4.2. nsAddCount This attribute gives the number of add operations received. 6.5.4.3. nsBindCount This attribute gives the number of bind requests received. 6.5.4.4. nsCompareCount This attribute gives the number of compare operations received. 6.5.4.5. nsDeleteCount This attribute gives the number of delete operations received. 6.5.4.6. nsModifyCount This attribute gives the number of modify operations received. 6.5.4.7. nsOpenBindConnectionCount This attribute gives the number of open connections for bind operations. 6.5.4.8. nsOperationConnectionCount This attribute gives the number of open connections for normal operations. 6.5.4.9. nsRenameCount This attribute gives the number of rename operations received. 6.5.4.10. nsSearchBaseCount This attribute gives the number of base level searches received. 6.5.4.11. nsSearchOneLevelCount This attribute gives the number of one-level searches received. 6.5.4.12. nsSearchSubtreeCount This attribute gives the number of subtree searches received. 6.5.4.13. nsUnbindCount This attribute gives the number of unbinds received. 6.6. Referential integrity plug-in attributes Referential Integrity ensures that when you perform update or remove operations to an entry in the the directory, the server also updates information for entries that reference removed/updated one. For example, if a user's entry is removed from the directory and Referential Integrity is enabled, the server also removes the user from any groups where the user is a member. 6.6.1. nsslapd-pluginAllowReplUpdates Referential Integrity can be a very resource demanding procedure. So if you configured multi-supplier replication the Referential Integrity plug-in will ignore replicated updates by default. However, sometimes it is not possible to enable the Referential Integrity plug-in, or the plug-in is not available. For example, one of your suppliers in the replication topology is Active Directory (see chapter Windows Synchronization for more details) that does not support Referential Integrity. In cases like this you can allow the Referential Integrity plug-in on another supplier to process replicated updates using nsslapd-pluginAllowReplUpdates attribute. Important Only one supplier must have the nsslapd-pluginAllowReplUpdates attribute value on in multi-supplier replication topology. Otherwise, it can lead to replication errors, and requires a full initialization to fix the problem. On the other hand, the Referential Integrity plug-in must be enabled on all supplies where possible. Parameter Description Entry DN cn=referential integrity postoperation,cn=plugins,cn=config Valid Range on/off Default Value off Syntax Boolean Example nsslapd-pluginAllowReplUpdates: off

Commands:
dn: cn=Telephone Syntax,cn=plugins,cn=config objectclass: top objectclass: nsSlapdPlugin objectclass: extensibleObject cn: Telephone Syntax nsslapd-pluginPath: libsyntax-plugin nsslapd-pluginInitfunc: tel_init nsslapd-pluginType: syntax nsslapd-pluginEnabled: on
dn:cn=ACL Plugin,cn=plugins,cn=config objectclass:top objectclass:nsSlapdPlugin objectclass:extensibleObject
dn: cn=Account Policy Plugin,cn=plugins,cn=config nsslapd-pluginarg0: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config
dn: cn=config,cn=Account Policy Plugin,cn=plugins,cn=config objectClass: top objectClass: extensibleObject cn: config ... attributes for evaluating accounts alwaysRecordLogin: yes stateattrname: lastLoginTime altstateattrname: createTimestamp ... attributes for account policy entries specattrname: acctPolicySubentry limitattrname: accountInactivityLimit
dn: cn=AccountPolicy,dc=example,dc=com objectClass: top objectClass: ldapsubentry objectClass: extensibleObject objectClass: accountpolicy 86400 seconds per day * 30 days = 2592000 seconds accountInactivityLimit: 2592000 cn: AccountPolicy
dn: uid=scarter,ou=people,dc=example,dc=com lastLoginTime: 20060527001051Z acctPolicySubentry: cn=AccountPolicy,dc=example,dc=com
dn: cn=Barbara Jensen,ou=Engineering,dc=example,dc=com objectClass: top objectClass: alias objectClass: extensibleObject cn: Barbara Jensen aliasedObjectName: cn=Barbara Smith,ou=Engineering,dc=example,dc=com
dn: cn=Hostgroups,cn=Auto Membership Plugin,cn=plugins,cn=config objectclass: autoMemberDefinition cn: Hostgroups autoMemberScope: dc=example,dc=com autoMemberFilter: objectclass=ipHost autoMemberDefaultGroup: cn=systems,cn=hostgroups,ou=groups,dc=example,dc=com autoMemberGroupingAttr: member:dn
dn: cn=webservers,cn=Hostgroups,cn=Auto Membership Plugin,cn=plugins,cn=config objectclass: autoMemberRegexRule description: Group for webservers cn: webservers autoMemberTargetGroup: cn=webservers,cn=hostgroups,dc=example,dc=com autoMemberInclusiveRegex: fqdn=^www\.web[0-9]+\.example\.com
member: uid=jsmith,ou=People,dc=example,dc=com
dn: cn=PAM Pass Through Auth,cn=plugins,cn=config objectClass: top objectClass: nsSlapdPlugin objectClass: extensibleObject objectClass: pamConfig cn: PAM Pass Through Auth nsslapd-pluginPath: libpam-passthru-plugin nsslapd-pluginInitfunc: pam_passthruauth_init nsslapd-pluginType: preoperation pass:quotes[ nsslapd-pluginEnabled: on ] nsslapd-pluginLoadGlobal: true nsslapd-plugin-depends-on-type: database nsslapd-pluginId: pam_passthruauth nsslapd-pluginVersion: 9.0.0 nsslapd-pluginVendor: Red Hat nsslapd-pluginDescription: PAM pass through authentication plugin dn: cn=Example PAM Config,cn=PAM Pass Through Auth,cn=plugins,cn=config objectClass: top objectClass: nsSlapdPlugin objectClass: extensibleObject objectClass: pamConfig cn: Example PAM Config pamMissingSuffix: ALLOW pass:quotes[ pamExcludeSuffix: cn=config ] pass:quotes[ pamIDMapMethod: RDN ou=people,dc=example,dc=com ] pass:quotes[ pamIDMapMethod: ENTRY ou=engineering,dc=example,dc=com ] pass:quotes[ pamIDAttr: customPamUid ] pass:quotes[ pamFilter: (manager=uid=bjensen,ou=people,dc=example,dc=com) ] pamFallback: FALSE pass:quotes[ pamSecure: TRUE ] pass:quotes[ pamService: ldapserver ]
pamIDMapMethod: RDN pamSecure: FALSE pamService: ldapserver
ldapmodify -D "cn=Directory Manager" -W -H ldap:// server.example.com -x dn: cn=Example PAM config entry,cn=PAM Pass Through Auth,cn=plugins,cn=config changetype: modify add: pamModuleIsThreadSafe pamModuleIsThreadSafe: on
ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "cn=Password Storage Schemes,cn=plugins,cn=config" -s sub "(objectclass=*)" dn
nsslapd-attribute: attribute :pass:attributes[{blank}] alias
(modifyTimestamp>=20200101010101Z)
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
nsslapd-cache-autosize: 10 nsslapd-cache-autosize-split: 40
dn:cn=aci,cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config objectclass:top objectclass:nsIndex cn:aci nsSystemIndex:true nsIndexType:pres
abc*
*xyz
ab*z
dn:cn=aci,cn=index,cn=UserRoot,cn=ldbm database,cn=plugins,cn=config objectclass:top objectclass:nsIndex cn:aci nsSystemIndex:true nsIndexType:pres
abc*
*xyz
ab*z