OpenLDAP
back-dnssrv: DNS経由でLDAPサーバの位置を把握する。 back-monitor: LDAP経由でslapdの統計情報にアクセス。 back-null: 何もしない。Unix系の/dev/nullに相当。 back-perl: LDAP要求に対して任意のPerlモジュールを呼び出す。 back-shell: LDAP要求に対して任意のシェルスクリプトを呼び出す。 back-sock: LDAP要求をプロセス間通信経由で任意のデーモンに転送する。
古いバージョンのOpenLDAPには今は使われていないバックエンドもあった。例えば、back-ldbm は元になったミシガン大学のコードを受け継いだバックエンドである。また、back-tcl は back-perl や back-shell と同様にTclスクリプトを呼び出すバックエンドである。
他のバックエンドのサポートも間もなく廃止される予定。 back-ndb は、廃止された。Oracle が MySQL を買収した後、Oracle によって MySQL とのパートナーシップが解消されたためである。 back-bdb と back-hdb は、間も無く廃止される。back-mdb の方がパフォーマンス、信頼性、および管理性の面で優れているためである。
実際、back-perl、back-shell、back-sock といったバックエンドは任意のプログラミング言語へのインタフェースとすることが可能で、拡張やカスタマイズが自由に行える。これを利用して、コンパクトでうまく定義されたAPIを持つRPCエンジンとしてslapdを使うことも可能である。
通常、LDAP要求はフロントエンドが受信し、解読し、バックエンドに処理させる。バックエンドが要求の処理を完了すると、フロントエンドに結果を返し、そこからLDAPクライアントに結果を送信する。オーバーレイはフロントエンドとバックエンドの間に挿入できるコードの断片である。したがって、そこで要求をインターセプトしてバックエンドが処理する前に別の動作を起動したり、バックエンドが返す結果をインターセプトすることもできる。オーバーレイは slapd の内部APIに完全にアクセスできるため、フロントエンドやバックエンドの関数も呼び出すことが可能である。一度に複数のオーバーレイを使うこともでき、フロントエンドとバックエンドの間にモジュールのスタックを形成できる。
オーバーレイは、データベース機能の強化に対応する単純な手段として使うことができ、新たなバックエンドを作成する必要がない。新機能をコンパクトで保守が容易なモジュール形式で追加できる。OpenLDAP 2.2 でオーバーレイが導入されて以来、多数のオーバーレイがコミュニティから集まっている。
slapd ネイティブモジュール acl/posixgroup – POSIX アクセス制御をサポート comp_match – コンポーネントベースのマッチングをサポート kinit – slapd でのケルベロス認証 TGT のメンテナンス・更新 passwd/ – 追加のパスワードハッシングメカニズム。現在、Kerberos、Netscape、RADIUS、および SHA-2を提供。
SLAPI プラグイン addrdnvalue – 追加要求においてRDN値が省略されている場合は、エントリにRDN値を追加する。