Podstawowa konfiguracja openldap za pomocą konfiguracji slapd.d

14

Próbuję skonfigurować testowy serwer openldap, wcześniej nie pracując z openldap. Używam standardowego pakietu openldap-servers na maszynie opartej na redhat (używając Oracle Linux). Zainstalowałem pakiety i uruchomiłem serwer.

Nie mam pojęcia, jak zmusić serwer do zrobienia czegoś pożytecznego; Nie mogę przejść do niego przy użyciu luma („Brak takiego obiektu” podczas próby uzyskania dostępu do wpisu najwyższego poziomu), dokumenty openldap są niejasne co do tego, w jaki sposób faktycznie dostajesz serwer do podstawowej konfiguracji roboczej i wszystkie informacje online jest dla starego pliku slapd.conf zamiast nowego slapd.d i cn = config.

Jak mogę uzyskać pakiet openldap waniliowy działający, w którym mogę przeglądać katalog główny w luma?

Thecoop
źródło

Odpowiedzi:

20

Czuję twój ból.

Wypróbuj to (jest testowany na Scientific Linux 6.5, więc powinien również działać na OL):

  • Instalowania serwerów OpenLDAP: yum install openldap-servers openldap-clients)
  • start slapd: service slapd start(i może chkconfig slapd on)
  • Utwórz hasła dla cn=configi swojego zwykłego administratora LDAP za pomocą slappasswd. Zwróć uwagę na wynik tego.
  • Utwórz plik LDIF o następującej treści:
dn: olcDatabase = config {0}, cn = config
typ zmiany: modyfikuj
dodaj: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj

dn: olcDatabase = {2} bdb, cn = config
typ zmiany: modyfikuj
dodaj: olcRootPW
olcRootPW: {SSHA} TXcmvaldskl312012cKsPK1cY2321 + aj
-
replace: olcRootDN
olcRootDN: cn = admin, dc = your, dc = base, dc = com
-
replace: olcSuffix
olcSuffix: dc = twój, dc = baza, dc = com
  • Wartości dla olcRootPWpowinny zostać zastąpione danymi wyjściowymi slappaswdzanotowanymi wcześniej.
  • Oczywiście olcSuffixi olcRootDNpowinien być dostosowany do nowej podstawowej nazwy wyróżniającej.
  • Podaj to wszystko do serwera LDAP za pomocą następującego polecenia:

    ldapmodify -a -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Poza tym powinieneś być w stanie połączyć się z obydwoma cn=configi dc=your,dc=base,dc=comprzez LDAP.

Sven
źródło
7
Dzięki, to jest jak koszmar dla początkujących. Jest config, ale w pierwszych wierszach slap.d / * - NIE EDYTUJ, podczas gdy wszystkie instrukcje / instrukcje / przewodniki mówią o „otwartej konfiguracji w ulubionym edytorze”
fghj
9

Przed uruchomieniem serwera OpenLDAP musisz najpierw skonfigurować kilka rzeczy.

Podstawowa konfiguracja

Musisz skonfigurować użytkownika root i hasło, a także zdefiniować podstawową nazwę wyróżniającą. W slapd.confposzukaj linii następujących po nich i ustaw je na żądane wartości.

suffix "dc=example,dc=com"
rootdn "cn=root,dc=example,dc=com"

Zwykle podstawowa nazwa wyróżniająca (zdefiniowana jak suffixw pliku) to składniki nazwy domeny, oddzielone przecinkami i poprzedzone przedrostkiem dc=. Więc serverfault.commoże się stać dc=serverfault,dc=com. Twój rootdnmoże być pod tym sufiksem.

Musisz także zmienić linię definiującą hasło roota. Możesz ustawić wartość zwykłego tekstu lub użyć slappasswddo utworzenia skrótu. Następnie należy wstawić wartość tekstu jawnego lub wartość mieszania slappasswdpoza wiersz, który wygląda następująco:

rootpw myultrasecurepassword

Schematy

W tym momencie dobrym pomysłem jest rozpoczęcie myślenia o schematach, których chcesz użyć. Schemat definiuje atrybuty, które może posiadać obiekt, dlatego należy dołączyć schematy zawierające potrzebne atrybuty. Te schematy są u góry slapd.conf, a te tutaj są zwykle absolutnymi podstawowymi schematami, których będziesz potrzebować:

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

Ścieżki te są używane w Arch Linux, więc może być konieczne dostosowanie ich do Oracle Linux.

O slapd.confkontraslapd.d

OpenLDAP przeszedł z konfiguracji offline (wykonanej w slapd.conf) do konfiguracji online, przechowując dane w specjalnym cn=configdrzewie znalezionym w slapd.d. Modyfikacja ldifplików slapd.djest jednak procesem bolesnym, więc o wiele łatwiej jest edytować slapd.confjak wyżej, a następnie przekonwertować na nowy slapd.dformat.

Najpierw usuń wszystko z slapd.d. Następnie uruchom następujące polecenie, dostosowując ścieżki do Oracle Linux:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

Następnie po prostu ustaw właściciela na użytkownika LDAP i grupę w tym katalogu rekurencyjnie i powinieneś być gotowy do pracy. Należy to zrobić przy każdej edycji slapd.conf- pamiętaj, aby zatrzymać serwer OpenLDAP, zanim to zrobisz!

Pierwsze uruchomienie

Zanim będzie można faktycznie korzystać z katalogu, należy utworzyć podstawową nazwę wyróżniającą (i użytkownika root). Utwórz .ldifplik zawierający wiersze podobne do następujących:

dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: example.com
dc: example

dn: cn=root,dc=example,dc=com
objectclass: organizationalRole
cn: root

Teraz uruchom serwer OpenLDAP. Musimy tylko wcisnąć te informacje do katalogu LDAP:

ldapadd -D "cn=root,dc=example,dc=com" -W -f initial.ldif

Oczywiście zmień główną nazwę wyróżniającą i nazwę pliku ldif tak, aby pasowały do ​​posiadanego pliku.

Powinieneś teraz mieć skonfigurowany działający katalog LDAP i być gotowy do zapełnienia!


Arch Linux Wiki jest doskonałym źródłem informacji na ten temat - patrz https://wiki.archlinux.org/index.php/OpenLDAP i https://wiki.archlinux.org/index.php/LDAP_Authentication jeśli chcesz wiedzieć więcej.

Ksenopatyczny
źródło
Większość tego jest już wykonywana przez menedżera pakietów i dalsze zarządzanie konfiguracją za pośrednictwem slapd.confi slaptestgdy serwer jest zatrzymany, przekracza cel konfiguracji online.
Sven
2
Początkowa konfiguracja slapd.confdziała dobrze i jest z pewnością bardziej intuicyjna niż slapd.dbezpośrednia edycja . Nie wiem, ile części katalogu zajmuje menedżer pakietów w Oracle Linux, ale jeśli OP nie może uzyskać dostępu do podstawowej nazwy wyróżniającej, to nie może to wystarczyć
Xenopathic
1
Akceptowana odpowiedź zawiera informacje, których potrzebowałem, ale informacje o tworzeniu początkowych obiektów również były przydatne
Thecoop