Ubuntu Version
Diie Schemata liegen in einem Dateiformat mit der Endung .lif vor. Ubuntu bringt davon 3 Stück mit
Verzeichnis: /etc/ldap/schema/
Schema: cosine.ldif,ietorgperson.ldif,nis.ldif
Diese Drei sind wichtig. Sie müssen unbedingt eingepflegt werden. Vor allem das nis.schema enthält die Objekte die wir für die Benutzerverwaltung benötigen.
root@rieka$ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif root@rieka$ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif root@rieka$ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
Für unsere Zwecke genügt das erst einmal. Die nachfolgenden Abschnitte treffen nur diejenigen, die zusätzliche Applikationen wie samba etc. abwickeln wollen.
Bonus : Zuätzliche Schemata einfügen
Und jetzt wir es hässlich. Die übrigen Schemata sind ein einem anderen Format und müssen umständlich konvertiert werden.
Zuerst erstellen wir eine Datei /etc/ldap/schema/schema_convert.conf. In die werden alle zu konvertierende Schemata aufgeführt.
Das Wiki führt noch an:
Auch die schon in die cn=config-Datenbank eingefügten Schemata müssen in schema_convert.conf aufgeführt werden, da die anderen Schemata tlw. auf sie aufbauen.
Damit sind die Schemata core,cosine,nis etc gemeint.Im How-To wird ausserdem noch gesondert auf samba.schema & ldapns.schema verwiesen, aber die lassen wir erst einmal aussen vor.
Jetzt gehts los. Zuerst ein Arbeitsverzeichnis erstellen
root@rieka$ mkdir /tmp/ldif_output
dann
root@rieka$ slapcat -f schema_convert.conf -F /tmp/ldif_output -n0
root@rieka$ cd /tmp/ldif_output/cn\=config/cn\=schema/
root@rieka$ cp cn={11}ppolicy.ldif cn={12}amavis.ldif cn={13}ldapns.ldif cn={14}samba.ldif cn={2}corba.ldif
cn={4}duaconf.ldif cn={5}dyngroup.ldif cn={7}java.ldif /etc/ldap/schema Zur Erklärung:
slapcat nimmt die Konvertierung von Schema nach ldif vor. Nun liegen die konvertierten Dateien in /etc/ldap/schema/
Und als ob das nicht schon schlimm genug wäre. Jetzt müssen die Dateien auch noch per Hand angepasst werden. Für jede konvertierte ldif Datei muss folgendes Procedere durchfgeführt werden.
Anpassen der Attribute dn (in der 1. Zeile) und cn (in der 3. Zeile), nachfolgend gezeigt am Beispiel des samba-Schemas:
dn: cn=samba,cn=schema,cn=config ... cn: cn=samba
und Löschen der letzten sieben Zeilen in der LDIF-Datei:
structuralObjectClass: olcSchemaConfig entryUUID: bc124984-712d-102e-9274-5bec14760b98 creatorsName: cn=config createTimestamp: 20091129122324Z entryCSN: 20091129122324.626040Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20091129122324Z
Und jetzt noch die Schemas einfügen mit:
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ppolicy.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/amavis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/ldapns.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/java.ldif
So die Schemas sind drin.