Konfiguracja OpenDJ

Sorry, this entry is only available in Polish. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

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.

You may also like...

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.