[3] OpenLDAP – Testowanie
11 czerwca 2023Aby przetestować nasz serwer LDAP utworzymy najpierw zbiór informacji, które zaimportujemy do bazy danych LDAP. Pierwsza operacja importu będzie dotyczyła wpisu do domeny i kierownika. Przechodzimy zatem do katalogu roboczego i tworzymy plik [kierownik.ldif]
fbsduser@vfbsd01:~ $ mcedit kierownik.ldif # utwórz nowy # wpis domeny dn: dc=zicher,dc=lab objectclass: dcObject objectclass: organization o: zicher.lab dc: zicher # wpis kierownika dn: cn=Manager,dc=zicher,dc=lab objectclass: organizationalRole cn: Manager
Wykorzystane skróty LDAP:
- dn (Distinguished Names): nazwa wyróżniająca,
- dc (Domain Component): składnik domenowy,
- cn (Common Name): nazwa potoczna,
- o (Organization): organizacja.
Narzędzie, którego użyjemy za chwile [lpadadd] jest bardzo wrażliwe na składnię pliku LDIF (LDAP Data Interchange Format – LDIF). Dlatego dokładnie upewnij się, że nie ma na końcach wierszy żadnych dodatkowych spacji, że wpis kierownika od wpisu domeny jest oddzielony dokładnie jednym pustym wierszem.
Załadujemy teraz zawartość pliku [kierownik.ldif] do bazy danych używając własnej nazwy domeny.
fbsduser@vfbsd01:~ $ ldapadd -x -D "cn=Manager,dc=zicher,dc=lab" -W -f kierownik.ldif -c Enter LDAP Password: # wpisz hasło adding new entry "dc=zicher,dc=lab" adding new entry "cn=Manager,dc=zicher,dc=lab"
Utworzymy teraz jednostkę organizacyjną dla wpisów użytkowników – dlatego w tym celu utworzymy plik [osoby.ldif].
fbsduser@vfbsd01:~ $ mcedit osoby.ldif # utwórz nowy # wpis jednostki organizacyjnej Osoby dn: ou=Osoby,dc=zicher,dc=lab objectclass: top objectclass: organizationalUnit ou: Osoby
Tutaj także upewnij się, że nie ma nigdzie dodatkowej spacji na końcu wiersza. Następnie załaduj plik [osoby.ldif] do bazy danych serwera openLDAP, używając własnej nazwy domenowej.
fbsduser@vfbsd01:~ $ ldapadd -x -D "cn=Manager,dc=zicher,dc=lab" -W -f osoby.ldif Enter LDAP Password: # wpisz hasło adding new entry "ou=Osoby,dc=zicher,dc=lab"
Dodamy teraz użytkownika do bazy danych w nowoutworzonej jednostce organizacyjnej. Zatem tworzymy plik [użytkownik.ldif].
fbsduser@vfbsd01:~ $ mcedit uzytkownik.ldif # stwórz nowy # wpis użytkownika dn: cn=Adam Adamowski,ou=Osoby,dc=zicher,dc=lab objectclass: inetOrgPerson cn: Adam Adamowski givenname: Adam sn: Adamowski mail: aadamowski@zicher.lab
Przyszedł czas na utworzenie hasła dla nowego użytkownika i zapisania go na końcu pliku [użytkownik.ldif].
fbsduser@vfbsd01:~ $ echo -n "userPassword: " >> uzytkownik.ldif fbsduser@vfbsd01:~ $ slappasswd >> uzytkownik.ldif New password: # wpisz hasło Re-enter new password: # wpisz hasło
Dodamy teraz treść/zawartość pliku [użytkownik.ldif] do bazy danych LDAP używając własnej nazwy domeny.
fbsduser@vfbsd01:~ $ ldapadd -x -D "cn=Manager,dc=zicher,dc=lab" -W -f uzytkownik.ldif Enter LDAP Password: # wpisz hasło adding new entry "cn=Adam Adamowski,ou=Osoby,dc=zicher,dc=lab"
Sprawdzimy teraz czy wszystkie wprowadzone do tej pory elementy zostały poprawnie dodane do bazy danych LDAP.
fbsduser@vfbsd01:~ $ ldapsearch -W -H ldap://localhost/ -D cn=Manager,dc=zicher,dc=lab -b 'dc=zicher,dc=lab' '(objectclass=*)' Enter LDAP Password: # wpisz hasło # extended LDIF # # LDAPv3 # base <dc=zicher,dc=lab> with scope subtree # filter: (objectclass=*) # requesting: ALL # # zicher.lab dn: dc=zicher,dc=lab objectClass: dcObject objectClass: organization o: zicher.lab dc: zicher # Manager, zicher.lab dn: cn=Manager,dc=zicher,dc=lab objectClass: organizationalRole cn: Manager # Osoby, zicher.lab dn: ou=Osoby,dc=zicher,dc=lab objectClass: top objectClass: organizationalUnit ou: Osoby # Adam Adamowski, Osoby, zicher.lab dn: cn=Adam Adamowski,ou=Osoby,dc=zicher,dc=lab objectClass: inetOrgPerson cn: Adam Adamowski givenName: Adam sn: Adamowski mail: aadamowski@zicher.lab userPassword:: e1NTSEF9ODVmWnRtS3FsdVRXc3k2c0hmOVlweDd4dndQZW1aeHY= # search result search: 2 result: 0 Success # numResponses: 5 # numEntries: 4
Może się zdarzyć tak, że w czasie logowanie do serwera openLDAP pojawi się wezwanie do podania „Base DN”, „Bind DN”, hasła i nazwy stacji. Dlatego poniżej przedstawiam składnię Base DN oraz Bind DN.
Base DN: dc=zicher,dc=lab Bind DN: cn=Adam Adamowski,ou=Osoby,dc=zicher,dc=lab