Dodawanie schematów do OpenDJ

OpenDJ podobnie jak inne usługi katalogowe pozwala na rozszerzanie funkcjonalności katalogu poprzez dodawanie schematów. Istnieje szereg gotowych schematów, które powstały dla różnych usług, można też zbudować własny schemat zawierający przydatne atrybuty (attribute) i klasy obiektów (objectClass). Ja tutaj posłużę się schematem dla Samby, który można znaleźć gdzieś w sieci. O sposobach konwersji schematu z postaci blokowej do formatu LDIF pisałem już wcześniej. Oto fragment schematu w LDIF:


#
################################################################################
#
dn: cn=schema
#
################################################################################
#
attributeTypes: (
  1.3.6.1.4.1.7165.2.1.2
  NAME 'ntPassword'
  DESC 'NT Passwd'
  EQUALITY caseIgnoreIA5Match
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{32}
  SINGLE-VALUE
  )
#
################################################################################
#
objectClasses: (
  1.3.6.1.4.1.7165.2.2.14
  NAME 'sambaTrustPassword'
  DESC 'Samba Trust Password'
  SUP top
  STRUCTURAL
  MUST ( sambaDomainName $ sambaNTPassword $ sambaTrustFlags )
  MAY ( sambaSID $ sambaPwdLastSet )
  )
#
################################################################################

Jest tu definicja atrybutu i klasy obiektu, całość schematu znajduje się w załączniku. Aby wczytać nowy schemat do OpenDJ można zaimportować LDIFa, ale można też wgrać plik schematu do katalogu OpenDJ-ver/config/schema i zrestartować serwer:

# cp 98-samba.ldif OpenDJ-2.4.3/config/schema/
# ./OpenDJ-2.4.3/bin/stop-ds 
Stopping Server...

[12/Jul/2011:11:27:02 +0200] category=BACKEND severity=NOTICE msgID=9896306 msg=The backend userRoot is now taken offline
[12/Jul/2011:11:27:02 +0200] category=CORE severity=NOTICE msgID=458955 msg=The Directory Server is now stopped


# ./OpenDJ-2.4.3/bin/start-ds 
[12/Jul/2011:11:27:36 +0200] category=CORE severity=INFORMATION msgID=132 msg=The Directory Server is beginning the configuration bootstrapping process
[12/Jul/2011:11:27:37 +0200] category=EXTENSIONS severity=INFORMATION msgID=1049147 msg=Loaded extension from file '/data/var/OpenDJ-2.4.3/lib/extensions/snmp-mib2605.jar' (build 2.4.3, revision 6998)
[12/Jul/2011:11:27:38 +0200] category=CORE severity=NOTICE msgID=458886 msg=OpenDJ 2.4.3 (build 20110613203412Z, R6998) starting up
...

Jak po restarcie uruchomimy GUI (control-panel) i zajrzymy do Schematów, to znajdziemy atrybuty i klasy obiektów Samby w drzewku Custom. Dodaję resztę potrzebnych schematów i ponownie restartuję serwer:

# cp 99-* OpenDJ-2.4.3/config/schema
# ./OpenDJ-2.4.3/bin/stop-ds
# ./OpenDJ-2.4.3/bin/start-ds

Przy wczytywaniu schematów obowiązuje kolejność alfabetyczna, schematowi Samby nadałem numer 98, żeby został wczytany przed pozostałymi dodatkowymi schematami, gdyż przynajmniej jedna z moich klas obiektów używa atrybutu ntPassword, który musi być zdefiniowany wcześniej.

Należy jednak pamiętać o tym, że jeśli jest skonfigurowana replikacja, to należy zachować spójność schematów, czyli wgrać te same schematy do wszystkich serwerów replikujących.

Dołączam jeszcze jeden schemat 99-phamm.ldif, gdyż na nim będę opierał kolejny wpis dotyczący indeksów.

Może Ci się również spodoba

Dodaj komentarz