SLAPD.PLUGIN(5)
π SLAPD.PLUGIN(5) β the plugin tea, section 5 of the File Formats Manual
okay bestie, pull up a chair, this is slapd.plugin(5) β the manual page all about plugin configuration for slapd, the stand-alone LDAP daemon β¨
π SYNOPSIS
/etc/openldap/slapd.conf
that's it. that's the whole vibe check. one file. π
πΈ DESCRIPTION
so <pink>slapd.conf(5)</pink> is the file that holds all the config info for the <purple>slapd(8)</purple> daemon, and β plot twist β the SLAPD tools slapadd(8), slapcat(8), slapmodify(8) and slapindex(8) use that same config file too. they're all sharing one brain cell and honestly? iconic. π«Ά
slapd.conf is built like this: a bunch of global config options that apply to slapd as a whole (every backend included, no exceptions), and then zero or more database backend definitions with all the info that's specific to one backend instance. zero is allowed, she's flexible πβοΈ
the general format of slapd.conf is:
# comment - these options apply to every database
<global configuration options>
# first database definition & configuration options
database <backend 1 type>
<configuration options specific to backend 1>
# subsequent database definitions & configuration options
...
if slapd is compiled with --enable-slapi, you get support for plugins that follow Netscape's Directory Server Plug-Ins. right now version 4 of the API is implemented, plus some extensions from version 5. partial upgrade era, we love a work in progress π
both global data and database-specific data can carry plugin info. and here's the important little detail: plugins tied to a specific database get called before the global plugins. database-specific girlies go first, periodt.
this manpage is specifically about the slapd(8) config statements that control the loading of SLAPI plugins. π§
anything that's supposed to be swapped out for your actual text shows up in angle brackets <>. so don't type the brackets, type the thing. π
the structure of the plugin directives is:
plugin <type> <lib_path> <init_function> [<arguments>]
and that directive means: load a plugin of the specified type for the current database. let's break it all the way down π
- the
<type>can be one of four things:preoperationβ runs before the operation for the specified database gets processedpostoperationβ runs after the operation for the specified database has been processedextendedopβ used when executing an extended operationobjectβ the miscellaneous one, for stuff like ACL, computed attribute and search filter rewriter plugins β¨
- the
<libpath>argument is the path to the plugin loadable object. if you hand it a relative path, the object gets searched for according to whatever underlying dynamic loading package is doing the work (it's libtool'sltdlthat's used, fyi). π¦ - the
<init_function>argument says which symbol has to be called when the plugin is first loaded. this function is the one that should register the functions the plugin provides for the desired operations. and ngl this part is the plot twist: it's this init function, not the plugin type you passed as the first argument, that decides when and for what operations the plugin actually gets invoked. the plugin type is not the boss here, the init function is π the optional<arguments>list gets passed to the init function. pluginlog <file>β sets an alternative path for the plugin log file. the default is/var/lib/openldap/errors. πmodulepath <pathspec>β this one sets the module load path for dynamically loadable backends, same as described inslapd.conf(5). but here's the tea: since the dynamically loadable backends and the SLAPI plugins both ride on the same underlying library (libtool'sltdl), its value affects the plugin search path too. in general the search path is made of colon-separated paths, and usually it goes like this: the user-defined path is searched first, then the value of theLTDL_LIBRARY_PATHenvironment variable (if it's defined) is used, and finally the system-specific dynamic load path gets attempted (on Linux, for example, that's the value of theLD_LIBRARY_PATHenvironment variable). please, please actually read the documentation ofltdl, because its behaviour is very platform dependent. like, not a little. very. π
π FILES
/etc/openldap/slapd.confβ default slapd configuration file π/var/lib/openldap/errorsβ default plugin log file π«Ά
π SEE ALSO
slapd(8),- "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
π ACKNOWLEDGEMENTS
OpenLDAP Software is developed and maintained by The OpenLDAP Project <http://www.openldap.org/>. OpenLDAP Software is derived from the University of Michigan LDAP 3.3 Release.
and that's the whole page, bestie β no cap, you're now certified in SLAPI plugin config π this was OpenLDAP 2.7.2, dated 2026/10/21, and yes she ate. mwah πβ¨π
π¦ where this page comes from
- arch rolling: openldap 2.7.2-2 Β· OLDAP-2.8
- Copyright 2002-2026 The OpenLDAP Foundation All Rights Reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms