Konfiguracja OpenDJ

Po rozpakowaniu i instalacji OpenDJ jest wstępnie skonfigurowany. W moim przypadku posiada też wpis bazowy (base entry), tutaj niech to będzie dc=domain,dc=tld. Jeśli ktoś dopiero buduje drzewo LDAP, to pewnie teraz doda sobie standardowe ou=People i tam będzie umieszczał użytkowników za pomocą narzędzi do zarządzania katalogiem LDAP. Zwykle jednak jest tak, że skoro decydujemy się na LDAPa, to użytkowników nie jest kilkoro, a kilkaset lub kilka(naście) tysięcy i trzeba ich zaimportować do katalogu.

Na początek spróbujmy dodać jeden wpis, nie ważne czy potrzebny, chcę pokazać komunikat błędu i sposób rozwiązania problemu. Wpis w formacie LDIF:


dn: uid=Replicator,dc=domain,dc=tld
objectclass: account
objectclass: top
objectclass: simpleSecurityObject
uid: Replicator
userpassword: {MD5}XEw0KXXXXxxxXXXWP71HXX==

Zapisujemy to sobie np. jako replicator.ldif i próbujemy dodać do katalogu LDAP:


# ./OpenDJ-2.4.3/bin/ldapmodify -a -f replicator.ldif
Processing ADD request for uid=Replicator,dc=domain,dc=tld
ADD operation failed
Result Code:  53 (Unwilling to Perform)
Additional Information:  Pre-encoded passwords are not allowed for the password attribute userPassword

Problem jest w tym, że w domyślnej konfiguracji OpenDJ nie pozwala na dodawanie LDIFów z atrybutem userPassword zawierającym już zaszyfrowane hasło. Oczywiście jest na to rozwiązanie i można to zrobić przynajmniej na dwa sposoby, pierwszy to uruchomienie programu OpenDJ-ver/bin/dsconfig i przejście przez odpowiednie opcje, drugi, który ja zastosuję, to zmiana przy użyciu odpowiedniego LDIFa:


# cat > allow-enc-pass.ldif << EOF

dn: cn=Default Password Policy,cn=Password Policies,cn=config
changetype: modify
replace: ds-cfg-allow-pre-encoded-passwords
ds-cfg-allow-pre-encoded-passwords: true

EOF

Spróbujmy dodać:


# ./OpenDJ-2.4.3/bin/ldapmodify -a -f allow-enc-pass.ldif 
Processing MODIFY request for cn=Default Password Policy,cn=Password Policies,cn=config
MODIFY operation failed
Result Code:  50 (Insufficient Access Rights)
Additional Information:  The entry cn=Default Password Policy,cn=Password Policies,cn=config cannot be modified due to insufficient access rights

Mamy za małe uprawnienia, nie podałem żadnych danych do logowania, spróbujmy raz jeszcze uwierzytelniając się:


# ./OpenDJ-2.4.3/bin/ldapmodify -a -D cn=dirmgr -f allow-enc-pass.ldif
Password for user 'cn=dirmgr':
Processing MODIFY request for cn=Default Password Policy,cn=Password Policies,cn=config
MODIFY operation successful for DN cn=Default Password Policy,cn=Password Policies,cn=config

Teraz znacznie lepiej, spróbujmy dodać naszego użytkownika z zaszyfrowanym hasłem:


# ./OpenDJ-2.4.3/bin/ldapmodify -a -D cn=dirmgr -f replicator.ldif    
Password for user 'cn=dirmgr':
Processing ADD request for uid=Replicator,dc=us,dc=edu,dc=pl
ADD operation successful for DN uid=Replicator,dc=domain,dc=tld

Operacja zakończona sukcesem, teraz można przygotować plik LDIF zawierający dane użytkowników z zaszyfrowanymi hasłami i zaimportować je do katalogu.

Inne zmiany w konfiguracji można wprowadzać w taki sam sposób, poprzez ldapmodify na cn=config lub przy użyciu programu dsconfig. Jest też GUI, które pozwala zarządzać lokalnym lub zdalnym serwerem OpenDJ, znajduje się w katalogu bin i nazywa control-panel:


drfugazi@neptun> ./OpenDJ-2.4.3/bin/control-panel&

Aplikacja jest w Javie i działa też pod Windows. Można przeglądać i modyfikować wpisy i część konfiguracji, oglądać i modyfikować schematy i indeksy. Jest też opcja backupu i odtwarzania oraz eksportu i importu LDIF. GUI pozwala na trochę więcej gdy działa z lokalnym serwerem, ale prawdziwą konfigurację i tuning robi się za pomocą dsconfig, a do zarządzania wpisami też są lepsze narzędzia, jak choćby wspomniana wcześniej wtyczka do Eclipse, Apache Directory Studio czy phpLDAPadmin.

Może Ci się również spodoba

Dodaj komentarz