Hallo zusammen, ich versuche mich an LDAP heranzutasten, die gewünschten Erfolge bleiben aber noch aus. Als Erstes ein Adressbuch bereitzustellen: Auf meinem Server SuSE9.1 läuft OpenLDAP. "Das beste aller Bücher" hat mir hier gute Dienste geleistet. Hier habe ich per LDIF ein paar Testeinträge eingefügt. Auf einem WinXP-Client kann ich auch mit z. B. ldapbrowser die Einträge wiederfinden / ansehen. zwei aus ldapbrowser exportierte LDIF's: --- #------------------------------------------------------------------------------- # Diese Datei wurde am 11.14.2004 um 13:43 aus 192.168.100.200:389 # mit LDAP-Browser 2.6 (http://www.ldapbrowser.com) erzeugt #------------------------------------------------------------------------------- version: 1 dn: dc=kapune,dc=de objectClass: dcObject objectClass: organization o: Kapune GbR dc: kapune dn: ou=user,dc=kapune,dc=de objectClass: organizationalUnit ou: user dn: ou=doc,dc=kapune,dc=de objectClass: organizationalUnit ou: doc dn: ou=bilder,dc=kapune,dc=de objectClass: organizationalUnit ou: bilder dn: cn=Johannes Kapune,ou=user,dc=kapune,dc=de objectClass: inetOrgPerson cn: Johannes Kapune givenName: Johannes sn: Kapune mail: johannes.kapune@gmx.de uid: johannes telephoneNumber: +49 2000 900000-0 dn: ou=ldapconfig,dc=kapune,dc=de objectClass: top objectClass: organizationalUnit ou: ldapconfig --- #------------------------------------------------------------------------------- # Diese Datei wurde am 11.14.2004 um 12:20 aus 192.168.100.200:389 # # mit LDAP-Browser2.6 (http://www.ldapbrowser.com) # erzeugt #------------------------------------------------------------------------------- version: 1 dn: cn=Johannes Kapune,ou=user,dc=kapune,dc=de objectClass: inetOrgPerson cn: Johannes Kapune givenName: Johannes sn: Kapune mail: johannes.kapune@gmx.de uid: johannes telephoneNumber: +49 2000 900000-0 ----- Wenn ich nun unter einem SuSE9.1-Client mit Ximian Evolution versuche diese Einträge anzeigen zu lassen (Adressbuch) bekomme ich keinen Zugang zum LDAP-Server. Die Einstellungen sind die Gleichen: anonymer Zugang, der selbe Server (per IP-Adresse, der selbe Port:389). Sucht Evolutions anders? Was bzw. wo ändern? Der Auszug aus den messages will mir sagen? Evolution benutzt ein anderes / weiters Schema? Angehängt noch die Konfigurationsfiles Gruß und Danke Johannes Kapune
Nochmal Hallo, auf "Dieter's Digest" habe ich schon das Schema combiCalendar.schema gefunden, Beim Versuch ein Beispiel per ldif zuzufügen bekomme ich die nun Fehlermeldung: "combiCalendar.schema: lie 100 AttributeType not found: "mobileTelephoneNumber" slapadd: bad configuration file!" In cosine.schema scheint die mobileTelephoneNumber aber schon definiert zu sein. Was kann ich ändern? Gruß Johannes
Sucht Evolutions anders? Was bzw. wo ändern?
Der Auszug aus den messages will mir sagen? Evolution benutzt ein anderes / weiters Schema?
Gruß und Danke Johannes Kapune
-------------------------------------------------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
"Johannes Kapune"
Nochmal Hallo, auf "Dieter's Digest" habe ich schon das Schema combiCalendar.schema gefunden, Beim Versuch ein Beispiel per ldif zuzufügen bekomme ich die nun Fehlermeldung: "combiCalendar.schema: lie 100 AttributeType not found: "mobileTelephoneNumber" slapadd: bad configuration file!" In cosine.schema scheint die mobileTelephoneNumber aber schon definiert zu sein. Was kann ich ändern?
Dann stimmt die Reihenfolge der include Anweisungen in slapd.conf nicht. Die Reihenfolge sollte sein include ..core.schema include ..cosine.schema include ..inetorgPerson.schema include ..combiCalendar.schema -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
----- Original Message -----
From: "Dieter Kluenter"
"Johannes Kapune"
writes: Nochmal Hallo, auf "Dieter's Digest" habe ich schon das Schema combiCalendar.schema gefunden, Beim Versuch ein Beispiel per ldif zuzufügen bekomme ich die nun Fehlermeldung: "combiCalendar.schema: lie 100 AttributeType not found: "mobileTelephoneNumber" slapadd: bad configuration file!" In cosine.schema scheint die mobileTelephoneNumber aber schon definiert zu sein. Was kann ich ändern?
Dann stimmt die Reihenfolge der include Anweisungen in slapd.conf nicht. Die Reihenfolge sollte sein include ..core.schema include ..cosine.schema include ..inetorgPerson.schema include ..combiCalendar.schema
-Dieter
Danke, die Reihenfolge hatte ich schon korrigiert, allerdings bekomme ich das Beispiel immer noch nicht ans laufen. Aus dem Dieter's Digest die simple-slapd.conf und init.ldif erzeugen zwar die Subordner MailAdmin, Rostlaube und adressbuch, dann aber kommt jetzt die Fehlermeldung: ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed Ja, ist es nun ein Tippfehler von mir (ich kann erstmal keinen finden, was nichts heißen muß) oder passt was anderes noch nicht. In diesem Zusammenhang: die database monitor wurde auch angemeckert, wohl weil ich vorher den moduleload back_monitor.la auskommentieren mußte, auch wegen Fehlermeldung. Oder passt die Muster-slapd.conf besser? Ich wollte halt erst mit 'was kleinem üben und (vielleicht) verstehen. Nochmals Danke und Gruß Johannes
"Johannes Kapune"
----- Original Message ----- From: "Dieter Kluenter"
To: Sent: Sunday, November 14, 2004 10:12 PM Subject: Re: LDAP Adressbuch "Johannes Kapune"
writes: Nochmal Hallo, auf "Dieter's Digest" habe ich schon das Schema combiCalendar.schema gefunden, Beim Versuch ein Beispiel per ldif zuzufügen bekomme ich die nun Fehlermeldung: "combiCalendar.schema: lie 100 AttributeType not found: "mobileTelephoneNumber" slapadd: bad configuration file!" In cosine.schema scheint die mobileTelephoneNumber aber schon definiert zu sein. Was kann ich ändern?
Dann stimmt die Reihenfolge der include Anweisungen in slapd.conf nicht. Die Reihenfolge sollte sein include ..core.schema include ..cosine.schema include ..inetorgPerson.schema include ..combiCalendar.schema
-Dieter
Danke, die Reihenfolge hatte ich schon korrigiert, allerdings bekomme ich das Beispiel immer noch nicht ans laufen. Aus dem Dieter's Digest die simple-slapd.conf und init.ldif erzeugen zwar die Subordner MailAdmin, Rostlaube und adressbuch, dann aber kommt jetzt die Fehlermeldung: ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed
Ja, ist es nun ein Tippfehler von mir (ich kann erstmal keinen finden, was nichts heißen muß) oder passt was anderes noch nicht.
Die Rostlaube muß nicht unbedingt sein, das ist nur ein Beispiel dafür, wie man auch Geräte und Maschinen einbauen könnte. Die Fehlermeldung deutet an, daß du versuchst, einen bereits bestehenden Eintrag zu verändern und eine andere Objektklasse zu deklarieren. Welcher Eintrag das nun ist, kann ich so auch nicht erkennen. Wenn du nicht weiter kommst, post mal die relevante ldif Schnipsel.
In diesem Zusammenhang: die database monitor wurde auch angemeckert, wohl weil ich vorher den moduleload back_monitor.la auskommentieren mußte, auch wegen Fehlermeldung.
Ist denn Monitor als Modul gebaut worden? Ich weiß allerdings nicht, wo SuSE die Module versteckt, möglicherweise in /usr/lib/openldap, oder auch in /usr/sbin/openldap. Vielleicht ist Monitor aber auch nicht einkompiliert, ich weiß nicht was SuSE als Standard ausliefert.
Oder passt die Muster-slapd.conf besser? Ich wollte halt erst mit 'was kleinem üben und (vielleicht) verstehen.
Die Muster-slapd.conf ist ein Beispiel für unterschiedliche Einsatzbereiche, die simple Version genügt vollauf für den Anfang. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
, allerdings bekomme ich das
Beispiel immer noch nicht ans laufen. Aus dem Dieter's Digest die simple-slapd.conf und init.ldif erzeugen zwar die Subordner MailAdmin, Rostlaube und adressbuch, dann aber kommt jetzt die Fehlermeldung: ldap_add: Constraint violation (19) additional info: structuralObjectClass: no user modification allowed
Ja, ist es nun ein Tippfehler von mir (ich kann erstmal keinen finden, was nichts heißen muß) oder passt was anderes noch nicht.
Die Rostlaube muß nicht unbedingt sein, das ist nur ein Beispiel dafür, wie man auch Geräte und Maschinen einbauen könnte. Die Fehlermeldung deutet an, daß du versuchst, einen bereits bestehenden Eintrag zu verändern und eine andere Objektklasse zu deklarieren. Welcher Eintrag das nun ist, kann ich so auch nicht erkennen. Wenn du nicht weiter kommst, post mal die relevante ldif Schnipsel.
das war mir schon klar, aber das läßt sich gut gebrauchen. eigentlich sind das die ldifs aus'm Netzt, allerdings hatte ich mehrfach versucht sie einzuladen. Wenn ich das richtig verstanden habe, kann man auch Brösel für Brösel einzeln in ldifs packen und einladen(?) Wenn ich morgen abend wieder Zeit habe forsche ich mal weiter.
In diesem Zusammenhang: die database monitor wurde auch angemeckert, wohl weil ich vorher den moduleload back_monitor.la auskommentieren mußte, auch wegen Fehlermeldung.
Ist denn Monitor als Modul gebaut worden? Ich weiß allerdings nicht, wo SuSE die Module versteckt, möglicherweise in /usr/lib/openldap, oder auch in /usr/sbin/openldap. Vielleicht ist Monitor aber auch nicht einkompiliert, ich weiß nicht was SuSE als Standard ausliefert.
unter /usr/lib/openldap/modules gibt es ein leeres Verzeichnis. wie kann man das mit passenden Files füllen (die zu meiner SuSe passen)? aus Quellen kompilieren? vorher aus dem Netz ziehen, oder von CD/DVD?
Oder passt die Muster-slapd.conf besser? Ich wollte halt erst mit 'was kleinem üben und (vielleicht) verstehen.
Die Muster-slapd.conf ist ein Beispiel für unterschiedliche Einsatzbereiche, die simple Version genügt vollauf für den Anfang.
-Dieter
nochmals Danke Johannes
Hallo Johannes,
"Johannes Kapune"
, allerdings bekomme ich das
Beispiel immer noch nicht ans laufen.
Die Rostlaube muß nicht unbedingt sein, das ist nur ein Beispiel dafür, wie man auch Geräte und Maschinen einbauen könnte. Die Fehlermeldung deutet an, daß du versuchst, einen bereits bestehenden Eintrag zu verändern und eine andere Objektklasse zu deklarieren. Welcher Eintrag das nun ist, kann ich so auch nicht erkennen. Wenn du nicht weiter kommst, post mal die relevante ldif Schnipsel.
das war mir schon klar, aber das läßt sich gut gebrauchen. eigentlich sind das die ldifs aus'm Netzt, allerdings hatte ich mehrfach versucht sie einzuladen. Wenn ich das richtig verstanden habe, kann man auch Brösel für Brösel einzeln in ldifs packen und einladen(?)
Ja, du kannst sowohl mit slapadd als auch mit ldapadd bzw. ldapmodify auch einzelne Einträge laden.
Wenn ich morgen abend wieder Zeit habe forsche ich mal weiter.
In diesem Zusammenhang: die database monitor wurde auch angemeckert, wohl weil ich vorher den moduleload back_monitor.la auskommentieren mußte, auch wegen Fehlermeldung.
Ist denn Monitor als Modul gebaut worden? Ich weiß allerdings nicht, wo SuSE die Module versteckt, möglicherweise in /usr/lib/openldap, oder auch in /usr/sbin/openldap. Vielleicht ist Monitor aber auch nicht einkompiliert, ich weiß nicht was SuSE als Standard ausliefert.
unter /usr/lib/openldap/modules gibt es ein leeres Verzeichnis. wie kann man das mit passenden Files füllen (die zu meiner SuSe passen)? aus Quellen kompilieren? vorher aus dem Netz ziehen, oder von CD/DVD?
Ich würde erst einmal auf der CD/DVD prüfen, ob die Module dort vorhanden sind und dann nachladen. Aus dem Netz würde ich nichts ziehen, das wäre mir zu unsicher. Selbst kompilieren ist immer gut und sehr lehrreich, dazu mußt du dir aber eine Entwicklerumgebung bauen. Dazu brauchst du als minimum - glibc - glibc-devel - gcc - make - automake - autoconf - flex,bison oder yacc - libtools - cyrus-sasl-* - cyrus-sasl-devel - openssl - openssl-devel - db - db-devel - db-utils - libgcrypt - readline - readline-devel -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
Hallo nochmal,
Ja, du kannst sowohl mit slapadd als auch mit ldapadd bzw. ldapmodify auch einzelne Einträge laden.
das klappt soweit ganz gut, nur wennn ich versuche unterhalb des Adressbuchs weitere "Ordner" anzulegen z. B. Familie oder Firma etc. geht das nicht. Im aliasedObjectName steht dann wohl: a) cn= Johannes Kapune,ou=Familie,o=kapune,c=de b) cn=Hans Mustermann,ou=Mitarbeiter,o=kapune,c=de drin. Diese Eintrage sind auch Unterordner von Adressbuch, was ich wollte war aber unter Adressbuch je einen Ordner für Familie, Mitarbeiter etc. Alle meine "permutationen" in den *.ldifs führten zu Fehlern. Oder fehlen Rechte zum erzeugen von Subdirectories? Wie könnte eine ldif aussehen, die mir gewünschten Subordner erstellt (und warum so)?
Wenn ich morgen abend wieder Zeit habe forsche ich mal weiter.
In diesem Zusammenhang: die database monitor wurde auch angemeckert, wohl weil ich vorher den moduleload back_monitor.la auskommentieren mußte, auch wegen Fehlermeldung.
Ist denn Monitor als Modul gebaut worden?
unter /usr/lib/openldap/modules gibt es ein leeres Verzeichnis. wie kann man das mit passenden Files füllen (die zu meiner SuSe passen)? aus Quellen kompilieren? vorher aus dem Netz ziehen, oder von CD/DVD?
Ich würde erst einmal auf der CD/DVD prüfen, ob die Module dort vorhanden sind und dann nachladen. Aus dem Netz würde ich nichts ziehen, das wäre mir zu unsicher. Habe auf der CD ein Modul gefunden und per Yast installiert, gemeckert wird trotzdem. Extra einbinden? in ldap.conf oder ...?
Selbst kompilieren ist immer gut und sehr lehrreich, dazu mußt du dir aber eine Entwicklerumgebung bauen. Dazu brauchst du als minimum
naja bevor ich soweit bin muß ich erst einmal die Anwendung beherrschen (ein weiter Weg).
- glibc - glibc-devel - gcc - make - automake - autoconf - flex,bison oder yacc - libtools - cyrus-sasl-* - cyrus-sasl-devel - openssl - openssl-devel - db - db-devel - db-utils - libgcrypt - readline - readline-devel
-Dieter
Danke und Gruß Johannes
"Johannes Kapune"
Hallo nochmal,
Ja, du kannst sowohl mit slapadd als auch mit ldapadd bzw. ldapmodify auch einzelne Einträge laden.
das klappt soweit ganz gut, nur wennn ich versuche unterhalb des Adressbuchs weitere "Ordner" anzulegen z. B. Familie oder Firma etc. geht das nicht. Im aliasedObjectName steht dann wohl: a) cn= Johannes Kapune,ou=Familie,o=kapune,c=de b) cn=Hans Mustermann,ou=Mitarbeiter,o=kapune,c=de drin. Diese Eintrage sind auch Unterordner von Adressbuch, was ich wollte war aber unter Adressbuch je einen Ordner für Familie, Mitarbeiter etc. Alle meine "permutationen" in den *.ldifs führten zu Fehlern. Oder fehlen Rechte zum erzeugen von Subdirectories? Wie könnte eine ldif aussehen, die mir gewünschten Subordner erstellt (und warum so)?
Das verstehe ich nicht ganz. 1. Frage: möchte du Aliase anlegen? Oder warum verwendest du das Attribut aliasedObjectName? 2. Frage: von welcher Form sollten die Unterordner erstellt werden? Hier mal einige Bespiele, wobei es unerheblich is, ob die RDN's mit dem Attribut cn oder ou erzeugt werden: ,----[ ldif Besipiele ] | dn:cn=Familie,ou=Adressbuch,o=bla... | cn: Familie | objectclass: organizationalRole | description: das FamilienAdressbuch | | dn: cn=Mitarbeiter,ou=Adressbuch,o=bla... | cn: Mitarbeiter,ou=Adressbuch,o=bla .... | objectclass: organzationalRole | description: das Adressbuch der Mitarbeiter | | dn: cn=Franz Meier,cn=Familie,ou=Adressbuch,o=bla... | objectclass: addressbookPerson | cn: Franz Meier | sn: Meier | l: Buxtehude | street: Igelweg 123 | homePhone: 1234567 | businessPhone: 54321 | note: nicht neben Oma setzen `---- Ein anderes Spiel mit Aliases, das Bespiel setzt voraus, daß der Eintrag unterhalb von ou=Adressbuch,o=bla..existiert. Die Ordner werden ebenso angelegt, wie oben beschreiben ,----[ alias Besipiel ] | dn:cn=Franz Meier,cn=Familie,ou=Adressbuch,o=bla ... | objectclass:extensibleObject | objectclass:alias | aliasedObjectName: cn=Franz Meier,ou=Adressbuch,o=bla... | cn: Franz Meier | sn: Meier `---- Wenn du diesen Eintrag mittels ldapadd oder slapdadd hinzufügen möchtest, mußt du den Schalter -M nutzen, sonst wird das aliased Object verändert das geht aber nicht. Sieh dazu man ldapadd(1) speziell zu 'manage DSA IT'.
Wenn ich morgen abend wieder Zeit habe forsche ich mal weiter.
[...]
Ich würde erst einmal auf der CD/DVD prüfen, ob die Module dort vorhanden sind und dann nachladen. Aus dem Netz würde ich nichts ziehen, das wäre mir zu unsicher. Habe auf der CD ein Modul gefunden und per Yast installiert, gemeckert wird trotzdem. Extra einbinden? in ldap.conf oder ...?
Ja, die Anweisungen modulepath und moduleload entsprechend konfigurieren. [...] -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
1. Frage: möchte du Aliase anlegen? Oder warum verwendest du das Attribut aliasedObjectName?
das war so in einem Beispiel ldif. da habe ich beim Ausprobieren halt nicht mehr nachgedacht.
2. Frage: von welcher Form sollten die Unterordner erstellt werden?
Hier mal einige Bespiele, wobei es unerheblich is, ob die RDN's mit dem Attribut cn oder ou erzeugt werden:
,----[ ldif Besipiele ] | dn:cn=Familie,ou=Adressbuch,o=bla... | cn: Familie | objectclass: organizationalRole | description: das FamilienAdressbuch | | dn: cn=Mitarbeiter,ou=Adressbuch,o=bla... | cn: Mitarbeiter,ou=Adressbuch,o=bla .... | objectclass: organzationalRole | description: das Adressbuch der Mitarbeiter | | dn: cn=Franz Meier,cn=Familie,ou=Adressbuch,o=bla... | objectclass: addressbookPerson | cn: Franz Meier | sn: Meier | l: Buxtehude | street: Igelweg 123 | homePhone: 1234567 | businessPhone: 54321 | note: nicht neben Oma setzen `----
genau das habe ich gewollt, danke!
Ein anderes Spiel mit Aliases, das Bespiel setzt voraus, daß der Eintrag unterhalb von ou=Adressbuch,o=bla..existiert. Die Ordner werden ebenso angelegt, wie oben beschreiben
,----[ alias Besipiel ] | dn:cn=Franz Meier,cn=Familie,ou=Adressbuch,o=bla ... | objectclass:extensibleObject | objectclass:alias | aliasedObjectName: cn=Franz Meier,ou=Adressbuch,o=bla... | cn: Franz Meier | sn: Meier `----
Wenn du diesen Eintrag mittels ldapadd oder slapdadd hinzufügen möchtest, mußt du den Schalter -M nutzen, sonst wird das aliased Object verändert das geht aber nicht. Sieh dazu man ldapadd(1) speziell zu 'manage DSA IT'.
wobei mir nicht klar ist ob bzw. wofür ich das gebrauchen sollte, wenn ich mich recht erinnere kann man mt Aliases hüsche Endlosschleifen generieren. Danke für diese Hilfen Die nächste Frage ist: was muß alles gesichert werden? Die Konfiguratonsfiles ist klar, aber wie sieht es mit der Datenbank aus? Wo versteckt sich diese, was ist zu beachten wenn man mal zurücksichern muß? Gruß Johannes Ps es sind noch weitereFragen offen, aber ich habe jetzt ersteinmal genug Information um eigene Test durchzuführen.
"Johannes Kapune"
Wenn du diesen Eintrag mittels ldapadd oder slapdadd hinzufügen möchtest, mußt du den Schalter -M nutzen, sonst wird das aliased Object verändert das geht aber nicht. Sieh dazu man ldapadd(1) speziell zu 'manage DSA IT'.
wobei mir nicht klar ist ob bzw. wofür ich das gebrauchen sollte, wenn ich mich recht erinnere kann man mt Aliases hüsche Endlosschleifen generieren.
Es hat Vorteile, wenn man einen Eintrag auch an EINER anderen Stelle finden soll, sozusagen ein symbolischer Link. Wenn man Alias bewusst und vorsichtig einsetzt, sollten keine Endlosschleifen entstehen, aber die prinzipielle Gefahr besteht.
Danke für diese Hilfen
Die nächste Frage ist: was muß alles gesichert werden? Die Konfiguratonsfiles ist klar, aber wie sieht es mit der Datenbank aus? Wo versteckt sich diese, was ist zu beachten wenn man mal zurücksichern muß?
Ich würde in regelmäßigen Abständen einen Dump der Datenbank machen, mittels slapcat z.B. und diese Datei sichern. Die Database selbst zu sichern kann problematisch werden und verlangt einige Kenntnisse über BerkeleyDB. Die Datenbank sollte im Verzeichnis /var/lib/ldap zu finden sein. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
"Johannes Kapune"
Hallo zusammen, ich versuche mich an LDAP heranzutasten, die gewünschten Erfolge bleiben aber noch aus. Als Erstes ein Adressbuch bereitzustellen:
Auf meinem Server SuSE9.1 läuft OpenLDAP. "Das beste aller Bücher" hat mir hier gute Dienste geleistet.
Wenn ich nun unter einem SuSE9.1-Client mit Ximian Evolution versuche diese Einträge anzeigen zu lassen (Adressbuch) bekomme ich keinen Zugang zum LDAP-Server. Die Einstellungen sind die Gleichen: anonymer Zugang, der selbe Server (per IP-Adresse, der selbe Port:389).
Sucht Evolutions anders? Was bzw. wo ändern?
Der Auszug aus den messages will mir sagen? Evolution benutzt ein anderes / weiters Schema?
Evolution benötigt die evolutionPerson Objectklasse und die darin aufgeführten Attribute. Der Vorteil ist aber, daß Evolution dann schreibend auf OpenLDAP zugreifen kann, wenn die Rechte richtig gesetzt sind. http://www.dkluenter.de/anwendung.html -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
participants (2)
-
Dieter Kluenter
-
Johannes Kapune