1.10. Using Directory Server Plug-ins

Directory Server provides several core plug-ins, such as for replication, class of service, and attribute syntax validation. Core plug-ins are enabled by default.
Additionally, the Directory Server packages contain further plug-ins to enhance the functionality, such as for attribute uniqueness and attribute linking. However, not all of these plug-ins are enabled by default.
For further details, see the Plug-in Implemented Server Functionality Reference chapter in the Red Hat Directory Server  Configuration, Command, and File Reference.

1.10.1. Listing Available Plug-ins

1.10.1.1. Listing Available Plug-ins Using the Command Line

To list all available plug-ins using the command line:
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin list
7-bit check
Account Policy Plugin
...
You require the exact name of the plug-in, for example, to enable or disable it using the command line.

1.10.1.2. Listing Available Plug-ins Using the Web Console

To display all available plug-ins using the web console:
  1. Open the Directory Server user interface in the web console. See Section 1.4, “Logging Into Directory Server Using the Web Console”.
  2. Select the instance.
  3. Select the Plugins menu.
Optionally, you can filter the plug-ins by entering a name into the Filter Plugins field.

1.10.2. Enabling Plug-ins Dynamically

By default, after enabling or disabling a plug-in, restart the instance to take effect.
If you set the nsslapd-dynamic-plugins parameter to on, you do not have to restart the instance after making the following changes:
  • Enabling a plug-in
  • Disabling a plug-in
  • Changing the configuration of a plug-in
To enable this feature:
# dsconf -D "cn=Directory Manager" ldap://server.example.com config replace nsslapd-dynamic-plugins=on
Successfully replaced "nsslapd-dynamic-plugins"

1.10.3. Enabling and Disabling Plug-ins

1.10.3.1. Enabling and Disabling Plug-ins Using the Command Line

To enable or disable a plug-in using the command line, use the dsconf utility.

Note

The dsconf command requires that you provide the name of the plug-in. For details about displaying the names of all plug-ins, see Section 1.10.1.1, “Listing Available Plug-ins Using the Command Line”.
For example, to enable the Automember plug-in:
  1. Enable the plug-in:
    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin automember enable
  2. Restart the instance:
    # dsctl instance_name restart
    If you enable the dynamic plug-in as described in Section 1.10.2, “Enabling Plug-ins Dynamically”, restarting the instance is not required.

1.10.3.2. Enabling and Disabling Plug-ins Using the Web Console

To enable or disable a plug-in using the web console:
  1. Open the Directory Server user interface in the web console. See Section 1.4, “Logging Into Directory Server Using the Web Console”.
  2. Select the instance.
  3. Select the Plugins menu.
  4. Select the All Plugins tab.
  5. Click the Edit Plugin button to the right of the plug-in you want to enable or disable.
  6. Change the status to ON to enable or to OFF to disable the plug-in.
  7. If you enable the dynamic plug-in as described in Section 1.10.2, “Enabling Plug-ins Dynamically”, restarting the instance is not required.

1.10.4. Configuring Plug-ins

1.10.4.1. Configuring Plug-ins Using the Command Line

To configure plug-in settings, use the dsconf plugin command:
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin \
     plug-in-specific_subcommand ...
For a list of plug-ins you can configure, enter:
# dsconf -D "cn=Directory Manager" ldap://server.example.com plugin --help

1.10.4.2. Configuring Plug-ins Using the Web Console

To configure a plug-in using the web console:
  1. Open the Directory Server user interface in the web console. See Section 1.4, “Logging Into Directory Server Using the Web Console”.
  2. Select the instance.
  3. Select the Plugins menu.
  4. Select the All Plugins tab.
  5. Select the plug-in and click Show Advanced Settings.
  6. Open the plug-in-specific tab.
  7. Set the appropriate settings.
  8. If you enable the dynamic plug-in as described in Section 1.10.2, “Enabling Plug-ins Dynamically”, restarting the instance is not required.

1.10.5. Setting the Plug-in Precedence

The plug-in precedence is the priority it has in the execution order of plug-ins. For pre- and post-operation plug-ins, this enables a plug-in to be executed and complete before the next plug-in is initiated, to let the next plug-in take advantage of the previous plug-in's results.
The precedence can be set to a value from 1 (highest priority) to 99 (lowest priority). If no precedence is set, the default is 50.

Warning

Set a precedence value only in custom plug-ins. Updating the value of core plug-ins can cause Directory Server to not work as expected and is not supported by Red Hat.

1.10.5.1. Setting the Plug-in Precedence Using the Command Line

To update the precedence value of a plug-in using the command line:
  1. Set precedence of the plug-in. For example, to set the precedence for the example plug-in to 1:
    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin edit example --precedence 1
  2. Restart the instance:
    # dsctl instance_name restart
    If you enable the dynamic plug-in as described in Section 1.10.2, “Enabling Plug-ins Dynamically”, restarting the instance is not required.

1.10.5.2. Setting the Plug-in Precedence Using the Web Console

To update the precedence value of a plug-in using the web console:
  1. Open the Directory Server user interface in the web console. See Section 1.4, “Logging Into Directory Server Using the Web Console”.
  2. Select the instance.
  3. Open the Plugins menu.
  4. Select All Plugins.
  5. Press the Edit Plugin button next to the plug-in for which you want to configure the precedence value.
  6. Update the value in the Plugin Precedence field.
  7. Click Save.
  8. If you enable the dynamic plug-in as described in Section 1.10.2, “Enabling Plug-ins Dynamically”, restarting the instance is not required.