Neues LDAP Schema über UDM integrieren

Hallo allerseits,

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.

# cat mycustom.schema | bzip2 | base64

QlpoOTFBWSZTWRBnpvkAAKzfgAQQQOM/sD4n/mA/995gMAD7ZgSoUPJqepo000aBoaNB5T1AADQl
NNGmENMTQ/UaQMjCAASU0jTTRI9T9UaaBoAwhoaep7SjARgVrz92dYQATgIaTUbsbZv9qY5l93yW
7MugxK0g+nnzEBNEUA2KrECHqYRKFAa6geBkTmI0DTCIStJI1uxxHkcJYvpFxMiFlSMYwS8hWlmc
lexJa0cS8VzBNcRZO1RByHUUX4qJB1inW+x7CkSTkOofT9kis61MXFOJ/VS6jgUE8ZH3J46KiZzL
EUsZlQVWKicwGCuzKqab0GgjugxkpEBc9cmWYtQGGCHjnphxfWBbahtZBS7pkk5XInLaMazYtH+L
uSKcKEgIM9N8gA==

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

Kann mir jemand sagen, was ich falsch mache?

Danke!

Ich würde es mal so probieren:

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.

Ich habe es mit ucs_registerLDAPExtension getestet und es klappt, natürlich musste ich aber fake packagname und packageversion angeben.

Warum funktioniert es aber über die UDM nicht? Dort sind packagname und packageversion optional.

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.

Mastodon