slapd-config
Diese Rolle erlaubt die Konfiguration des gesamten OLC eines OpenLDAP-Servers.
Es wird vorausgesetzt, dass du bereits ein OLC erstellt hast und slapd läuft.
Sieh dir dazu slapd-base an.
slapd-config wird die globale slapd-Konfiguration direkt in cn=config
erstellen und globale Module wie mdb laden, falls diese nicht als statische Backends kompiliert sind.
Danach werden das Überwachungs-Backend und ein MDB erstellt und konfiguriert.
Das MDB unterstützt das Angeben von Overlays.
Anforderungen
Eine dpkg- oder pacman-basierte Linux-Distribution.
Variablen der Rolle
Es gibt einige rollenweite Variablen:
Name |
Standard/Erforderlich |
Beschreibung |
slapd_enable_monitor |
true |
Lade das Überwachungsmodul (wenn erforderlich) und konfiguriere die Überwachungsdatenbank. |
slapd_modules_path |
/usr/lib/ldap |
Pfad zu dynamischen Modulen, falls Backends benötigt werden, aber geladen werden müssen. |
slapd_additional_modules |
|
Lade auch diese Module (neben MDB und Monitor), falls sie nicht kompiliert sind. |
slapd_olc_rootdn_password |
:heavy_check_mark: |
Passwort zum Zugriff auf das OLC. Wird nicht automatisch von slapd-base exportiert. |
slapd_monitor_rootdn_password |
:heavy_check_mark: |
Das rootdn-Passwort für die Überwachungsdatenbank. Wird automatisch gehasht. |
slapd_mdb_rootdn_password |
:heavy_check_mark: |
Das rootdn-Passwort für die MDB-Datenbank. Wird automatisch gehasht. |
slapd_schemas |
|
Array von Pfaden zu Schema-Dateien, die geladen werden sollen. |
slapd_global_config |
Siehe Beschreibung |
Jede einzelne globale slapd-Konfigurationsoption. Siehe unten für alle Beschreibungen. |
slapd_olc_config |
Siehe Beschreibung |
Jeder einzelne globale Konfigurationswert für die OLC-Datenbank. |
slapd_monitor_config |
Siehe Beschreibung |
Jeder einzelne globale Konfigurationswert für die Überwachungsdatenbank. |
slapd_mdb_config |
:heavy_check_mark: |
Jeder einzelne globale Konfigurationswert für die MDB-Datenbank. |
slapd_mdb_overlays |
Siehe Beschreibung |
Jedes Modul für die MDB. Siehe Beispiel für ein Beispiel. |
slapd-base Variablen
Du musst diese Variablen festlegen, wenn slapd-base
nicht in einem vorherigen Schritt in diesem Playbook ausgeführt wurde.
Alle Variablen sind erforderlich.
Name |
Standard/Erforderlich |
Beschreibung |
slapd_run_dir |
:heavy_check_mark: |
Laufzeitverzeichnis für die Argumentdatei, PID-Datei und ldapi-Socket |
slapd_ldapi_socket |
:heavy_check_mark: |
ldapi-Unix-Socket für die lokale slapd-Verwaltung |
slapd_mdb_dir |
:heavy_check_mark: |
Verzeichnis, in dem die MDB gespeichert ist |
slapd_olc_dir |
:heavy_check_mark: |
Pfad, in dem sich die LDIF-Dateien des OLC befinden |
slapd_olc_rootdn |
:heavy_check_mark: |
Rootdn des OLC |
Globale Konfigurationsoptionen
Die globale slapd OLC-Konfiguration ist in verschiedene Abschnitte unterteilt.
Allgemeine Konfiguration
Name |
Standard/Erforderlich |
Beschreibung |
olcConfigFile |
|
Pfad zu einer zu ladenden Konfigurationsdatei. Wird durch das OLC ersetzt. |
olcConfigDir |
{{slapd_olc_dir}} |
Pfad zu den OLC-Datenbankdateien. |
olcArgsFile |
{{slapd_run_dir}}/slapd.args |
slapd schreibt seine Argumente in diese Datei. |
olcPidFile |
{{slapd_run_dir}}/slapd.pid |
slapd schreibt seine PID in diese Datei. |
olcGentleHUP |
FALSE |
Wenn TRUE , wird slapd bestehende Verbindungen bei SIGHUP nicht beenden, sondern auf deren Beendigung warten. |
olcServerID |
0 |
ID dieses Servers. Nur erforderlich bei Multi-Master-Replikation. |
Sicherheitsrelevante Konfiguration
Name |
Standard/Erforderlich |
Beschreibung |
olcAllows |
|
Eine Menge von Funktionen, die erlaubt sind. |
olcDisallows |
|
Eine Menge von Funktionen, die nicht erlaubt sind. |
olcRequires |
bind |
Eine Menge von Bedingungen, die erforderlich sind. |
olcRestrict |
|
Eine Liste von Operationen, die eingeschränkt sind. |
olcSecurity |
ssf=1 simple_bind=128 |
Geben Sie eine Menge von Sicherheitsstärkefaktoren an, die erforderlich sind. |
olcAuthIDRewrite |
|
Wird verwendet, um einfache Benutzernamen in ein LDAP DN für Authentifizierungszwecke zu konvertieren. |
olcAuthzRegexp |
|
Wird verwendet, um einfache Benutzernamen in ein LDAP DN für Authentifizierungszwecke zu konvertieren. Kann mehrfach angegeben werden und erfordert einen Neustart des Servers, um wirksam zu werden. |
olcAuthzPolicy |
none |
Welche Regeln für die Proxy-Autorisierung verwendet werden sollen. |
olcLocalSSF |
300 |
Angenommene SSF für LDAPI-Verbindungen. |
olcPasswordHash |
{SSHA} |
Eine oder mehrere Hash-Algorithmen, die für erweiterte Modifikationen zur Passwortänderung verwendet werden. |
olcPasswordCryptSaltFormat |
%s |
Das Format des Salzes beim Hashen von Passwörtern mit crypt() . |
TLS-Konfiguration
Name |
Standard/Erforderlich |
Beschreibung |
olcTLSCertificateFile |
|
Öffentliches Schlüssel-Datei für slapd. |
olcTLSCertificateKeyFile |
|
Privater Schlüssel für slapd. |
olcTLSRandFile |
|
Die Datei, aus der Zufallsdaten bezogen werden, wenn /dev/urandom nicht verfügbar ist. |
olcTLSDHParamFile |
|
Datei mit Primzahlen für den Diffie-Hellman-Ephemeral-Schlüsselaustausch. |
olcTLSCipherSuite |
|
Zu verwendende TLS-Chiffre-Suiten. |
olcTLSProtocolMin |
|
Minimal erforderliche TLS-Version. Der Standardwert ist das höchstmögliche Niveau. |
olcTLSCACertificateFile |
|
Pfad zu einer Datei, die alle vertrauenswürdigen Zertifizierungsstellen enthält. |
olcTLSCACertificatePath |
|
Pfad zu einem Verzeichnis, das Dateien mit allen vertrauenswürdigen Zertifizierungsstellen enthält. |
olcTLSCRLCheck |
none |
Ob die CRL des CA bei Verbindungen überprüft werden soll. |
olcTLSVerifyClient |
never |
Wann die Identität des Clients überprüft werden soll. |
Protokollierungskonfiguration
Name |
Standard/Erforderlich |
Beschreibung |
olcLogLevel |
stats |
Logging-Level-Konfiguration für jedes Subsystem. |
olcLogFile |
|
Datei, in die protokolliert wird. slapd wird immer in stderr protokollieren. |
olcPluginLogFile |
|
Datei, in die das Protokoll der slapi-Plugin-Ausgabe geschrieben wird. |
olcReplogFile |
|
Datei für das Replog, die von slurpd gelesen werden kann. |
Threading-Konfiguration
Name |
Standard/Erforderlich |
Beschreibung |
olcConcurrency |
|
Thread-Hinweis für das Betriebssystem. Unter Linux nicht verwendet. |
olcListenerThreads |
1 |
Anzahl der Threads zum Lauschen auf Verbindungen. 1 ist genug für bis zu 16 Kerne. |
olcThreads |
16 |
Anzahl der CPU-Threads für die Anforderungsverarbeitung. |
olcToolThreads |
1 |
Anzahl der CPU-Threads im Tool-Modus. Sollte die Anzahl der Kerne im System nicht überschreiten. |
Zeitüberschreitungen und Grenzen
Name |
Standard/Erforderlich |
Beschreibung |
olcIdleTimeout |
0 |
Anzahl der Sekunden, die ein Client nichts tun kann, bevor die Verbindung getrennt wird. |
olcWriteTimeout |
0 |
Anzahl der Sekunden, die ein Client mit ausstehenden Schreibvorgängen nichts tun kann, bevor die Verbindung getrennt wird. |
olcTimeLimit |
3600 |
Maximale Anzahl von Sekunden, die slapd verwenden wird, um eine Anfrage zu beantworten. Ermöglicht einen unlimited Wert. |
olcSizeLimit |
500 |
Maximale Anzahl von Einträgen, die aus einer Suche zurückgegeben werden. |
Verbindungen
Name |
Standard/Erforderlich |
Beschreibung |
olcConnMaxPending |
50 |
Maximale Anzahl von ausstehenden Anfragen in anonymen Sitzungen. |
olcConnMaxPendingAuth |
1000 |
Maximale Anzahl von ausstehenden Anfragen in authentifizierten Sitzungen. |
olcTCPBuffer |
|
Größe des TCP-Puffers. Das Betriebssystem kann dies automatisch anpassen. |
olcSockbufMaxIncoming |
262143 |
Maximale Größe des LDAP PDU für anonyme Sitzungen. |
olcSockbufMaxIncomingAuth |
4194303 |
Maximale Größe des LDAP PDU für authentifizierte Sitzungen. |
SASL
Name |
Standard/Erforderlich |
Beschreibung |
olcSaslHost |
|
Vollständig qualifizierter Domainname, der für die SASL-Verarbeitung verwendet wird. |
olcSaslRealm |
|
Der SASL-Realm für die SASL-Verarbeitung. |
olcSaslSecProps |
|
Gibt die Sicherheitsmerkmale von Cyrus SASL an. |
olcSaslAuxprops |
|
Welche Auxprop-Plugins für Authentifizierungsabfragen verwendet werden sollen. |
Indizierung
Name |
Standard/Erforderlich |
Beschreibung |
olcIndexSubstrIfMinLen |
2 |
Die Mindestlänge von Sub-Initial- und Sub-End- Indizes. |
olcIndexSubstrIfMaxLen |
4 |
Die Maximallänge von Sub-Initial- und Sub-End- Indizes. |
olcIndexSubstrAnyLen |
4 |
Länge für Sub-any-Indizes. Attribute, die länger als diese Länge sind, werden segmentweise verarbeitet. |
olcIndexSubstrAnyStep |
2 |
Schritte, die in Sub-any-Anfragen verwendet werden. Dies ist der Offset für die Segmente des Filterstrings, die verarbeitet werden. |
olcIndexIntLen |
4 |
Schlüsselgröße für geordnete Integer-Indizes. |
Verschiedenes
Name |
Standard/Erforderlich |
Beschreibung |
olcAttributeOptions |
x-hidden lang- |
Tagging-Attributoptionen oder Optionen-Tag-/Bereichs-Präfixe. |
olcReferral |
|
Eine Referenz-URL, die zurückgegeben wird, wenn slapd keine lokale Datenbank finden kann. |
olcReverseLookup |
FALSE |
Aktiviert nicht verifiziertes Reverse-Lookups des Clientnamens. |
olcRootDSE |
|
Name einer LDIF-Datei, die benutzerdefinierte Attribute für das Root DSE enthält. |
olcReadOnly |
FALSE |
Setzt den gesamten Server in den Nur-Lesen-Modus. Warnung: Einmal auf true gesetzt, kann dieser Wert nicht zurückgesetzt werden, ohne die Datenbankdateien auf der Festplatte zu ändern und slapd neu zu starten! |
olcLdapSyntaxes |
|
Ich habe ernsthaft keine Ahnung, warum dieses Attribut hier ist. Es gibt keine Dokumentation im Internet. |
Datenbankkonfigurationswerte
Diese Werte gelten für jede Datenbank (OLC, Überwachung und MDB).
Dieser Abschnitt gibt einen Überblick über alle von ihnen.
Die Standardwerte für jede Datenbank sind unten angegeben.
Die MDB-Datenbank hat auch einige weitere Attribute, die nur von dieser Datenbank unterstützt werden.
Allgemein
Name |
Erforderlich |
Beschreibung |
olcSuffix |
:heavy_check_mark: |
Der DN-Suffix von Abfragen, die an das Datenbank-Backend weitergeleitet werden. Für das OLC und die Überwachung nicht erforderlich. |
olcReadOnly |
:heavy_check_mark: |
Setzt diese Datenbank in den Nur-Lesen-Modus. Keine Änderungen sind möglich. |
olcHidden |
:heavy_multiplication_x: |
Beantworte keine Abfragen an diese Datenbank. slapd wird die Existenz dieser Datenbank leugnen. |
olcLastMod |
:heavy_check_mark: |
Ob slapd automatisch modifiersName , modifyTimestamp , creatorsName , createTimestamp , entryCSN und entryUUID verwalten wird. |
olcSubordinate |
:heavy_multiplication_x: |
Ob diese Datenbank eine Unterordnung zu einer anderen Datenbank hat. |
Sicherheit
Name |
Erforderlich |
Beschreibung |
olcSecurity |
:heavy_multiplication_x: |
Geben Sie eine Menge von Sicherheitsstärkefaktoren an, die erforderlich sind. |
olcRootDN |
:heavy_check_mark: |
Name des RootDN dieser Datenbank. |
olcRootPW |
:heavy_check_mark: |
Gehashtes Passwort des RootDN dieser Datenbank. |
olcRequires |
:heavy_multiplication_x: |
Eine Menge von Bedingungen, die erforderlich sind. |
olcRestrict |
:heavy_multiplication_x: |
Eine Liste von Operationen, die eingeschränkt sind. |
olcAddContentAcl |
:heavy_check_mark: |
Ob Operationen eine ACL-Überprüfung auf den Inhalt des hinzugefügten Eintrags durchführen. |
olcAccess |
:heavy_check_mark: |
Array von ACL-Regeln für diese Datenbank. |
Zeitüberschreitungen und Grenzen
Name |
Erforderlich |
Beschreibung |
olcTimeLimit |
:heavy_multiplication_x: |
Maximale Anzahl von Sekunden, die slapd zum Beantworten einer Anfrage aufwenden wird. Ermöglicht einen unlimited Wert. |
olcSizeLimit |
:heavy_multiplication_x: |
Maximale Anzahl von Einträgen, die aus einer Suche zurückgegeben werden. |
olcLimits |
:heavy_multiplication_x: |
Zeit- und Größenlimits basierend auf dem Initiator der Operation oder dem Basis-DN. |
Syncrepl
Name |
Erforderlich |
Beschreibung |
olcSyncrepl |
:heavy_multiplication_x: |
Hauptkonfiguration von Syncrepl. |
olcUpdateDN |
:heavy_multiplication_x: |
DN, der zur Aktualisierung des Replikats berechtigt ist. Sollte nicht der rootDN sein. |
olcSyncUseSubentry |
:heavy_multiplication_x: |
Speichert die syncrepl contextCSN in einem Untereintrag anstelle des Kontexteintrags. |
olcUpdateRef |
:heavy_multiplication_x: |
Der Verweis, der zurückgegeben wird, wenn slapd aufgefordert wird, eine replizierte Datenbank zu ändern. |
olcMirrorMode |
:heavy_multiplication_x: |
Setzt diese Datenbank in den Spiegelmodus. |
slurpd
Name |
Erforderlich |
Beschreibung |
olcReplica |
:heavy_multiplication_x: |
|
olcReplicaArgsFile |
:heavy_multiplication_x: |
|
olcReplicaPidFile |
:heavy_multiplication_x: |
|
olcReplicationInterval |
:heavy_multiplication_x: |
|
olcReplogFile |
:heavy_multiplication_x: |
|
Verschiedenes
Name |
Erforderlich |
Beschreibung |
olcSchemaDN |
:heavy_multiplication_x: |
DN für den Unterschemasubeintrag der Einträge. |
olcMaxDerefDepth |
:heavy_multiplication_x: |
Maximale Anzahl von Aliasen, die gefolgt werden sollen. |
olcPlugin |
:heavy_multiplication_x: |
Stunden slapi-Plugins. |
olcMonitoring |
:heavy_multiplication_x: |
Sammeln von Überwachungsdaten für diese Datenbank. |
olcExtraAttrs |
:heavy_multiplication_x: |
Gibt an, welche Attribute auch dann zurückgegeben werden, wenn sie nicht gesucht werden. |
MDB-Einstellungen
Diese Einstellungen gelten nur für die MDB-Datenbank!
Name |
Erforderlich |
Standard |
Beschreibung |
olcDbDirectory |
:heavy_check_mark: |
{{slapd_mdb_dir}} |
Pfad zum Datenbankverzeichnis auf der Festplatte. |
olcDbNoSync |
:heavy_multiplication_x: |
TRUE |
Synchronisiere nicht sofort nach Erhalt der Daten. |
olcDbCheckpoint |
:heavy_multiplication_x: |
8192 15 |
Wie oft (KB/Minuten) die Datenbank auf die Festplatte geschrieben wird. |
olcDbMaxReaders |
:heavy_multiplication_x: |
|
Maximale Anzahl von Threads, die gleichzeitig auf die DB zugreifen können. |
olcDbMaxSize |
:heavy_multiplication_x: |
|
Maximale Größe der DB in Byte. |
olcDbMode |
:heavy_multiplication_x: |
0600 |
Dateimodus der Datenbankdateien. |
olcDbSearchStack |
:heavy_multiplication_x: |
16 |
Tiefe des Stacks während der Filterauswertungen. |
olcDbRtxnSize |
:heavy_multiplication_x: |
|
Anzahl der Einträge, die in einer Lesetransaktion verarbeitet werden sollen. |
olcDbIndex |
:heavy_multiplication_x: |
|
Indizes, die in dieser Datenbank erstellt werden sollen. |
Standardwerte für jede Datenbank
Name |
Frontend-Standard |
OLC-Standard |
Überwachungs-Standard |
MDB-Standard |
olcSuffix |
|
|
|
:exclamation: |
olcReadOnly |
FALSE |
FALSE |
|
|
olcHidden |
FALSE |
|
|
|
olcLastMod |
TRUE |
TRUE |
|
|
olcSubordinate |
|
|
|
|
olcSecurity |
|
|
|
|
olcRootDN |
|
{{slapd_olc_rootdn}} |
cn=root,cn=monitor |
cn=root,{{olcSuffix}} |
olcRootPW |
|
[Geheimes Passwort] |
[Geheimes Passwort] |
[Geheimes Passwort] |
olcRequires |
|
|
|
|
olcRestrict |
|
|
|
|
olcAddContentAcl |
TRUE |
TRUE |
|
|
olcAccess |
'to * by * read' |
'to * by * none' |
'to * by * none' |
'to * by * none' |
olcTimeLimit |
|
|
|
|
olcSizeLimit |
|
|
|
|
olcLimits |
|
|
|
|
olcSyncrepl |
|
|
|
|
olcUpdateDN |
|
|
|
|
olcSyncUseSubentry |
FALSE |
FALSE |
|
|
olcUpdateRef |
|
|
|
|
olcMirrorMode |
FALSE |
|
|
|
olcReplica |
|
|
|
|
olcReplicaArgsFile |
|
|
|
|
olcReplicaPidFile |
|
|
|
|
olcReplicationInterval |
|
|
|
|
olcReplogFile |
|
|
|
|
olcSchemaDN |
cn=Subschema |
|
|
|
olcMaxDerefDepth |
15 |
15 |
|
|
olcPlugin |
|
|
|
|
olcMonitoring |
FALSE |
FALSE |
|
|
olcExtraAttrs |
|
|
|
|
Abhängigkeiten
schema2ldif
muss installiert sein.
Beispiel-Playbook
- hosts: ldap
roles:
- slapd-config
slapd_modules_path: /usr/lib/openldap
slapd_olc_rootdn_password: water
slapd_mdb_rootdn_password: water
slapd_monitor_rootdn_password: water
slapd_additional_modules: [ 'memberof' ]
slapd_mdb_config:
olcSuffix: "dc=example,dc=com"
slapd_mdb_overlays:
memberof:
olcOverlay: memberof
objectClass: olcMemberOf
olcMemberOfDangling: ignore
Lizenz
Diese Arbeit ist lizenziert unter einer Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.