slapd-config
Ta rola umożliwia skonfigurowanie całej OLC serwera OpenLDAP. Wymaga, aby wcześniej utworzyć OLC i mieć działający slapd. Możesz skorzystać z slapd-base w tym celu.
slapd-config utworzy globalną konfigurację slapd bezpośrednio w cn=config
i załaduje globalne moduły, takie jak mdb, jeśli nie zostały skompilowane jako statyczne zaplecza. Następnie zostanie utworzone i skonfigurowane zaplecze monitorujące oraz MDB, które wspiera definiowanie nakładek.
Wymagania
Dystrybucja Linuxa oparta na dpkg lub pacman.
Zmienne roli
Istnieje kilka zmiennych globalnych roli:
Nazwa |
Domyślna/Wymagana |
Opis |
slapd_enable_monitor |
true |
Ładowanie modułu monitorowania (jeśli wymagane) i konfiguracja bazy monitorującej. |
slapd_modules_path |
/usr/lib/ldap |
Ścieżka do dynamicznych modułów, jeśli zaplecza są wymagane, ale muszą być załadowane. |
slapd_additional_modules |
|
Również ładować te moduły (oprócz MDB i monitor) jeśli nie są skompilowane. |
slapd_olc_rootdn_password |
:heavy_check_mark: |
Hasło do dostępu do OLC. Nie jest automatycznie eksportowane przez slapd-base . |
slapd_monitor_rootdn_password |
:heavy_check_mark: |
Hasło rootdn dla bazy monitorującej. Zostanie automatycznie zahardkodowane. |
slapd_mdb_rootdn_password |
:heavy_check_mark: |
Hasło rootdn dla bazy MDB. Zostanie automatycznie zahardkodowane. |
slapd_schemas |
|
Tablica ścieżek do plików schematów do załadowania. |
slapd_global_config |
Zobacz opis |
Każda pojedyncza opcja globalnej konfiguracji slapd. Zobacz opis poniżej. |
slapd_olc_config |
Zobacz opis |
Każda pojedyncza globalna wartość konfiguracyjna dla bazy OLC. |
slapd_monitor_config |
Zobacz opis |
Każda pojedyncza globalna wartość konfiguracyjna dla bazy monitorującej. |
slapd_mdb_config |
:heavy_check_mark: |
Każda pojedyncza globalna wartość konfiguracyjna dla bazy MDB. |
slapd_mdb_overlays |
Zobacz opis |
Każdy moduł dla MDB. Zobacz przykład dla przykładu. |
Zmienne slapd-base
Musisz ustawić te zmienne, jeśli slapd-base
nie został uruchomiony w wcześniejszym kroku tego playbooka. Wszystkie zmienne są wymagane.
Nazwa |
Domyślna/Wymagana |
Opis |
slapd_run_dir |
:heavy_check_mark: |
Katalog uruchomieniowy dla pliku args, pliku pid oraz gniazda ldapi |
slapd_ldapi_socket |
:heavy_check_mark: |
gniazdo unix ldapi do lokalnej administracji slapd |
slapd_mdb_dir |
:heavy_check_mark: |
Katalog, w którym znajduje się MDB |
slapd_olc_dir |
:heavy_check_mark: |
Ścieżka, gdzie znajdują się pliki LDIF OLC |
slapd_olc_rootdn |
:heavy_check_mark: |
Rootdn OLC |
Opcje globalnej konfiguracji
Globalna konfiguracja OLC slapd została podzielona na różne sekcje.
Konfiguracja ogólna
Nazwa |
Domyślna/Wymagana |
Opis |
olcConfigFile |
|
Ścieżka do pliku konfiguracyjnego do załadowania. Zastąpiona przez OLC. |
olcConfigDir |
{{slapd_olc_dir}} |
Ścieżka do plików bazy danych OLC. |
olcArgsFile |
{{slapd_run_dir}}/slapd.args |
slapd zapisze swoje argumenty do tego pliku. |
olcPidFile |
{{slapd_run_dir}}/slapd.pid |
slapd zapisze swój PID do tego pliku. |
olcGentleHUP |
FALSE |
Gdy TRUE , slapd nie zabije istniejących połączeń na SIGHUP , ale poczeka, aż one zakończą się. |
olcServerID |
0 |
ID tego serwera. Wymagane tylko w przypadku replikacji wielomasterowej. |
Konfiguracja związana z bezpieczeństwem
Nazwa |
Domyślna/Wymagana |
Opis |
olcAllows |
|
Zestaw funkcji, które są dozwolone. |
olcDisallows |
|
Zestaw funkcji, które są zabronione. |
olcRequires |
bind |
Zestaw warunków do wymaganego. |
olcRestrict |
|
Lista operacji, które są ograniczone. |
olcSecurity |
ssf=1 simple_bind=128 |
Określ zestaw czynników siły bezpieczeństwa do wymaganego. |
olcAuthIDRewrite |
|
Służy do konwertowania prostych nazw użytkowników na DN LDAP używane do celów autoryzacji. |
olcAuthzRegexp |
|
Służy do konwertowania prostych nazw użytkowników na DN LDAP używane do autoryzacji. Może być określane wielokrotnie i wymaga ponownego uruchomienia serwera, aby zaczęło działać. |
olcAuthzPolicy |
none |
Które zasady stosować do autoryzacji proxy. |
olcLocalSSF |
300 |
Domyślny SSF dla połączeń LDAPI. |
olcPasswordHash |
{SSHA} |
Jedno lub więcej algorytmów haszujących, które należy użyć do modyfikacji zmiany hasła. |
olcPasswordCryptSaltFormat |
%s |
Format soli podczas haszowania haseł za pomocą crypt() . |
Konfiguracja TLS
Nazwa |
Domyślna/Wymagana |
Opis |
olcTLSCertificateFile |
|
Plik klucza publicznego dla slapd. |
olcTLSCertificateKeyFile |
|
Klucz prywatny dla slapd. |
olcTLSRandFile |
|
Plik do uzyskania losowych bitów, gdy urandom nie jest dostępny. |
olcTLSDHParamFile |
|
Plik zawierający liczby pierwsze dla wymiany klucza Diffie-Hellman. |
olcTLSCipherSuite |
|
Zestawy szyfrów TLS do użycia. |
olcTLSProtocolMin |
|
Minimalna wersja TLS, którą należy wymagać. Domyślnie jest to najwyższy możliwy poziom. |
olcTLSCACertificateFile |
|
Ścieżka do pliku zawierającego wszystkie zaufane urzędów certyfikacji. |
olcTLSCACertificatePath |
|
Ścieżka do katalogu zawierającego pliki ze wszystkimi zaufanymi urzędami certyfikacji. |
olcTLSCRLCheck |
none |
Czy CRL CA powinno być sprawdzane przy połączeniach. |
olcTLSVerifyClient |
never |
Kiedy weryfikować tożsamość klienta. |
Konfiguracja logowania
Nazwa |
Domyślna/Wymagana |
Opis |
olcLogLevel |
stats |
Konfiguracja poziomu logowania dla każdego podsystemu. |
olcLogFile |
|
Plik, do którego zapisywane będą logi. slapd zawsze loguje do stderr. |
olcPluginLogFile |
|
Plik do logowania wyjścia pluginu slapi. |
olcReplogFile |
|
Plik logowania replikacji, który można odczytać przez slurpd . |
Konfiguracja wątków
Nazwa |
Domyślna/Wymagana |
Opis |
olcConcurrency |
|
Wskazówka dla systemu operacyjnego dotycząca przechwałtózpołączeń. Nie używane pod Linuxem. |
olcListenerThreads |
1 |
Liczba wątków nasłuchujących na połączenia. 1 wystarczy do 16 rdzeni. |
olcThreads |
16 |
Liczba wątków CPU do przetwarzania żądań. |
olcToolThreads |
1 |
Liczba wątków CPU podczas pracy w trybie narzędzi. Nie powinno przekraczać liczby rdzeni w systemie. |
Limity i czasy
Nazwa |
Domyślna/Wymagana |
Opis |
olcIdleTimeout |
0 |
Liczba sekund, przez które klient może nic nie robić przed rozłączeniem. |
olcWriteTimeout |
0 |
Liczba sekund, przez które klient z niezrealizowanymi zapisami może nic nie robić przed rozłączeniem. |
olcTimeLimit |
3600 |
Maksymalna liczba sekund, które slapd spędzi na udzieleniu odpowiedzi na żądanie. Pozwala na wartość nieograniczoną . |
olcSizeLimit |
500 |
Maksymalna liczba wpisów do zwrócenia z wyszukiwania. |
Połączenia
Nazwa |
Domyślna/Wymagana |
Opis |
olcConnMaxPending |
50 |
Maksymalna liczba oczekujących połączeń w sesjach anonimowych. |
olcConnMaxPendingAuth |
1000 |
Maksymalna liczba oczekujących połączeń w sesjach uwierzytelnionych. |
olcTCPBuffer |
|
Rozmiar bufora TCP. System operacyjny może automatycznie dostosować to. |
olcSockbufMaxIncoming |
262143 |
Maksymalny rozmiar LDAP PDU dla sesji anonimowych. |
olcSockbufMaxIncomingAuth |
4194303 |
Maksymalny rozmiar LDAP PDU dla sesji uwierzytelnionych. |
SASL
Nazwa |
Domyślna/Wymagana |
Opis |
olcSaslHost |
|
W pełni kwalifikowana nazwa domeny używana do przetwarzania SASL. |
olcSaslRealm |
|
Królestwo SASL dla przetwarzania SASL. |
olcSaslSecProps |
|
Określ właściwości zabezpieczeń SASL Cyrus. |
olcSaslAuxprops |
|
Jakie wtyczki auxprop użyć do wyszukiwania w autoryzacji. |
Indeksy
Nazwa |
Domyślna/Wymagana |
Opis |
olcIndexSubstrIfMinLen |
2 |
Minimalna długość dla subindeksów. |
olcIndexSubstrIfMaxLen |
4 |
Maksymalna długość dla subindeksów. |
olcIndexSubstrAnyLen |
4 |
Długość dla subindeksów. Atrybuty dłuższe niż ta długość są przetwarzane w segmentach. |
olcIndexSubstrAnyStep |
2 |
Kroki używane w wyszukiwaniach subindeksów. To jest offset dla segmentów przetwarznego ciągu filtrów. |
olcIndexIntLen |
4 |
Długość klucza dla uporządkowanych indeksów całkowitych. |
Różne
Nazwa |
Domyślna/Wymagana |
Opis |
olcAttributeOptions |
x-hidden lang- |
Oznaczanie opcji atrybutu lub tagów/range prefixe. |
olcReferral |
|
URL przekierowania, który należy zwrócić, gdy slapd nie może znaleźć lokalnej bazy danych. |
olcReverseLookup |
FALSE |
Włącz niezweryfikowane odwrotne wyszukiwanie nazwy klienta. |
olcRootDSE |
|
Nazwa pliku LDIF zawierającego zdefiniowane przez użytkownika atrybuty dla root DSE. |
olcReadOnly |
FALSE |
Ustaw cały serwer w tryb tylko do odczytu. Ostrzeżenie: Po ustaleniu na true, tę wartość nie można zmienić bez modyfikacji plików bazy danych na dysku i ponownego uruchomienia slapd! |
olcLdapSyntaxes |
|
Szalenie nie mam pojęcia, dlaczego ten atrybut się tu znajduje. Nie ma dokumentacji w internecie. |
Wartości konfiguracji bazy danych
Te wartości mają zastosowanie do każdej bazy danych (OLC, monitor i MDB). Ta sekcja przedstawia ich przegląd. Domyślne wartości dla każdej bazy danych są określone poniżej. Baza danych MDB ma również inne właściwości wspierane tylko w tej bazie.
Ogólne
Nazwa |
Wymagana |
Opis |
olcSuffix |
:heavy_check_mark: |
DN suffix zapytań, które będą przesyłane do zaplecza bazy danych. Nie jest wymagane dla OLC i monitoru. |
olcReadOnly |
:heavy_check_mark: |
Ustala tę bazę w trybie tylko do odczytu. Brak możliwości modyfikacji. |
olcHidden |
:heavy_multiplication_x: |
Zapewnia, że slapd ogólnie zaprzeczy istnieniu tej bazy danych. |
olcLastMod |
:heavy_check_mark: |
Czy slapd będzie automatycznie utrzymywał modifiersName , modifyTimestamp , creatorsName , createTimestamp , entryCSN , entryUUID . |
olcSubordinate |
:heavy_multiplication_x: |
Czy ta baza danych jest podporządkowana innej bazie. |
Bezpieczeństwo
Nazwa |
Wymagana |
Opis |
olcSecurity |
:heavy_multiplication_x: |
Określ zestaw czynników siły bezpieczeństwa do wymaganego. |
olcRootDN |
:heavy_check_mark: |
Nazwa RootDN tej bazy danych. |
olcRootPW |
:heavy_check_mark: |
Hasło zaszyfrowane RootDN tej bazy danych. |
olcRequires |
:heavy_multiplication_x: |
Zestaw warunków do wymaganego. |
olcRestrict |
:heavy_multiplication_x: |
Lista operacji, które są ograniczone. |
olcAddContentAcl |
:heavy_check_mark: |
Czy operacje będą wykonywać kontrolę ACL na treści dodawanego wpisu. |
olcAccess |
:heavy_check_mark: |
Tablica reguł ACL dla tej bazy danych. |
Limitacje i czasy
Nazwa |
Wymagana |
Opis |
olcTimeLimit |
:heavy_multiplication_x: |
Maksymalna liczba sekund, które slapd spędzi na udzieleniu odpowiedzi na żądanie. Pozwala na wartość nieograniczoną . |
olcSizeLimit |
:heavy_multiplication_x: |
Maksymalna liczba wpisów do zwrócenia z wyszukiwania. |
olcLimits |
:heavy_multiplication_x: |
Limity czasu i rozmiaru na podstawie inicjatora operacji lub bazy DN. |
Syncrepl
Nazwa |
Wymagana |
Opis |
olcSyncrepl |
:heavy_multiplication_x: |
Główna konfiguracja Syncrepl. |
olcUpdateDN |
:heavy_multiplication_x: |
DN dozwolone do aktualizacji repliki. Nie powinno być rootDN. |
olcSyncUseSubentry |
:heavy_multiplication_x: |
Przechowywanie contextCSN syncrepl w podwpisie zamiast wpisu kontekstowego. |
olcUpdateRef |
:heavy_multiplication_x: |
Przekierowanie, które ma być przekazane, gdy slapd poprosi o modyfikację replikowanej bazy danych. |
olcMirrorMode |
:heavy_multiplication_x: |
Ustawia tę bazę danych w trybie lustrzanym. |
Slurpd
Nazwa |
Wymagana |
Opis |
olcReplica |
:heavy_multiplication_x: |
|
olcReplicaArgsFile |
:heavy_multiplication_x: |
|
olcReplicaPidFile |
:heavy_multiplication_x: |
|
olcReplicationInterval |
:heavy_multiplication_x: |
|
olcReplogFile |
:heavy_multiplication_x: |
|
Różne
Nazwa |
Wymagana |
Opis |
olcSchemaDN |
:heavy_multiplication_x: |
DN dla podwpisu subschematu dla wpisów. |
olcMaxDerefDepth |
:heavy_multiplication_x: |
Maksymalna liczba aliasów do śledzenia. |
olcPlugin |
:heavy_multiplication_x: |
Ładowanie wtyczek slapi. |
olcMonitoring |
:heavy_multiplication_x: |
Zbieranie danych monitorujących tę bazę danych. |
olcExtraAttrs |
:heavy_multiplication_x: |
Określ atrybuty do zwrócenia, nawet gdy nie były poszukiwane. |
Ustawienia MDB
Te ustawienia mają zastosowanie tylko do bazy danych MDB!
Nazwa |
Wymagana |
Domyślna |
Opis |
olcDbDirectory |
:heavy_check_mark: |
{{slapd_mdb_dir}} |
Ścieżka do katalogu bazy danych na dysku. |
olcDbNoSync |
:heavy_multiplication_x: |
TRUE |
Nie synchronizować natychmiast po odebraniu danych. |
olcDbCheckpoint |
:heavy_multiplication_x: |
8192 15 |
Jak często (KB/min) zapisywać bazę danych na dysku. |
olcDbMaxReaders |
:heavy_multiplication_x: |
|
Maksymalna liczba wątków, które mogą jednocześnie uzyskiwać dostęp do bazy danych. |
olcDbMaxSize |
:heavy_multiplication_x: |
|
Maksymalny rozmiar bazy danych w bajtach. |
olcDbMode |
:heavy_multiplication_x: |
0600 |
Tryb pliku plików bazy danych. |
olcDbSearchStack |
:heavy_multiplication_x: |
16 |
Głębokość stosu podczas oceny filtrów wyszukiwania. |
olcDbRtxnSize |
:heavy_multiplication_x: |
|
Liczba wpisów do przetworzenia w jednej transakcji odczytu. |
olcDbIndex |
:heavy_multiplication_x: |
|
Indeksy do utworzenia na tej bazie danych. |
Domyślne wartości dla każdej bazy danych
Nazwa |
Domyślny frontend |
Domyślny OLC |
Domyślny monitor |
Domyślny MDB |
olcSuffix |
|
|
|
:exclamation: |
olcReadOnly |
FALSE |
FALSE |
|
|
olcHidden |
FALSE |
|
|
|
olcLastMod |
TRUE |
TRUE |
|
|
olcSubordinate |
|
|
|
|
olcSecurity |
|
|
|
|
olcRootDN |
|
{{slapd_olc_rootdn}} |
cn=root,cn=monitor |
cn=root,{{olcSuffix}} |
olcRootPW |
|
[Hashed password] |
[Hashed password] |
[Hashed password] |
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 |
|
|
|
|
Zależności
schema2ldif
musi być zainstalowane.
Przykładowy 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
Licencja
To dzieło jest licencjonowane na zasadach Creative Commons Attribution-ShareAlike 4.0 International License.