ich versuche gerade ein neues LDAP Schema anzulegen, da ich ein paar extra Attribute benötige und diese über sprechende Namen und nicht über univentionFreeAttributeXX abbilden möchte.
Hierzu habe ich mir eine Schema Datei erstellt (Namen sind geändert)
(Die OID ist im System bisher nicht vorhanden und wird später durch eine PEN ersetzt.)
objectIdentifier myCustomObjectClassPrefix 1.3.6.1.4.1.57936.1.1
attributetype ( myCustomObjectClassPrefix:1.1 NAME 'x-customAttribute'
DESC 'My Custom related attribute'
EQUALITY caseIgnoreMatch
SUBSTR caseIgnoreSubstringsMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
objectclass ( myCustomObjectClassPrefix:2.1 NAME 'x-customObject'
DESC 'My Custom related attributes'
SUP top AUXILIARY
MAY ( x-customAttribute )
)
Nun schicke ich es durch bzip2 und base64 um den Wert für die UDM zu erhalten.
Im Anschluss erstelle ich die LDAP Schema Erweiterung in der UDM unter “univention/ldapschema”, setze den Namen (mycustom) und den Dateinamen (mycustom.schema), packe den base64 String in das Feld, aktiviere “Aktiv” und speichere das Ganze.
Leider ist das Schema aber nicht sichtbar und auch nicht auf dem Dateisystem zu finden.
Auch eine Suche nach der OID findet nichts
univention-ldapsearch -s base -b cn=Subschema objectClasses | grep 1.3.6.1.4.1.57936
ucs_registerLDAPExtension ist ja eigentlich gedacht um LDAP Erweiterungen von Apps zu installieren, daher auch packagename und packageversion, außerdem soll laut Doku vorher UNIVENTION_APP_IDENTIFIER gesetzt werden.
Ich habe ja aber keine App oder derartiges.
Mir ist wichtig, dass es auch sauber repliziert wird ohne es händisch überall hinkopieren zu müssen.
Weil da der Listener ins Spiel kommt, der u.a. das Schema aus dem LDAP ins Dateisystem kopiert und aktiviert und erst dann das Flag im LDAP auf “aktiv” setzt.
Die Antwort verstehe ich nicht ganz. Ich habe einige Zeit gewartet (>15 Minuten) aber das Schema ist nicht aktiv geworden und war auch nicht auf dem Dateisystem zu finden. Auch habe ich versucht es manuell auf “Aktiv” zu setzen doch auch das hat nichts gebracht. Was ich allerdings nicht versucht hatte, war packagname und packageversion anzugeben.
Was ich sagen wollte: Es passiert da etwas mehr im Hintergrund als man denkt. DIe Verwendung der Funktion stellt sicher, daß das korrekte Prozedere eingehalten wird und das Schema korrekt registriert ist.