LDAP: givenName nicht erlaubt?
Hallo, ich versuche gerade eine ldif-Datei in einen LDAP zu packen. Das ganze unter SuSE 10.2 mit Bordmitteln. Ich will diesen Eintrag hinzufügen: dn: uid=nobody,ou=people,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: / Das ganze dann mit ldapadd -W -c -h ...... in den LDAP. Beim LDAP-Add mosert er rum das es den Eintrag schon gibt (hat er recht, nur gibts den ohne sn, givenName usw.). Also mache ich einen ldapmodify mit den gleichen Parametern. Hier bringt er mir dann: ldap_modify: Object class violation (65) additional info: attribute 'sn' not allowed Meine slapd.conf sieht bzgl. der Shemas so aus: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema #include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/samba3.schema Kann mir jemand sagen wo es hier zwischen den Shemas nicht stimmt? Ich finds irgendwie nicht.... Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, Dec 4, 2008 at 11:32 AM, Daniel Spannbauer
Hallo,
ich versuche gerade eine ldif-Datei in einen LDAP zu packen. Das ganze unter SuSE 10.2 mit Bordmitteln.
Ich will diesen Eintrag hinzufügen: dn: uid=nobody,ou=people,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Das ganze dann mit ldapadd -W -c -h ...... in den LDAP. Beim LDAP-Add mosert er rum das es den Eintrag schon gibt (hat er recht, nur gibts den ohne sn, givenName usw.). Also mache ich einen ldapmodify mit den gleichen Parametern. Hier bringt er mir dann: ldap_modify: Object class violation (65) additional info: attribute 'sn' not allowed
Meine slapd.conf sieht bzgl. der Shemas so aus: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema #include /etc/openldap/schema/rfc2307bis.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/yast.schema include /etc/openldap/schema/samba3.schema
Kann mir jemand sagen wo es hier zwischen den Shemas nicht stimmt? Ich finds irgendwie nicht....
Da fehlt die objectclass inetorgperson im Eintrag. Nur account und posixaccount erlauben keine Vor- und Nachnamen (sn und givenname), sondern da gibt's nur "gecos". kk Rgbx������ץ���r���҉碝��V������uﮞ˛���m�)z{.��+�I��w���^jY^���~�m�ޜ�&��ݢ��m�(�g���brG�J'��w�j)Z��^�ˬy��i�������
Kann mir jemand sagen wo es hier zwischen den Shemas nicht stimmt? Ich finds irgendwie nicht....
Da fehlt die objectclass inetorgperson im Eintrag. Nur account und posixaccount erlauben keine Vor- und Nachnamen (sn und givenname), sondern da gibt's nur "gecos".
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt): dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: / Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
kk Rgbx������ץ���r���҉碝��V������uﮞ˛���m�)z{.��+�I��w���^jY^��~�m�ޜ�&��ݢ��m�(�g���brG�J'��w�j)Z��^�ˬy��i�����org=
-- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Daniel Spannbauer schrieb:
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
dn: uid=nobody,ou=People,dc=marco,dc=de blöde Frage aber du hast von hinten nach vorne de marco und People eingerichtet. Ggf. hilft es ja auch lam zu installieren und dann mit einer grafischen Oberfläche mal drauf zu schauen. -- i.A. Ralf Prengel Customer Care Manager Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49231 97575- 904 Fax +49231 97575- 905 EMail ralf.prengel@comline.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Ralf Prengel schrieb:
Daniel Spannbauer schrieb:
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
dn: uid=nobody,ou=People,dc=marco,dc=de
blöde Frage aber du hast von hinten nach vorne de marco und People eingerichtet.
Den USer gibt es im LDAP schon. Nur war damals nur das Scheme nis.schema drin. Ich brauche bzw. will aber noch SN, givenName usw. haben. Also das inetorgPerson.schema eingebunden und die LDIF neu aus dem NIS exportiert und mit dlapmodify auf den ldap losgelassen.
Ggf. hilft es ja auch lam zu installieren und dann mit einer grafischen Oberfläche mal drauf zu schauen.
Wie meinst du denn das? Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Daniel Spannbauer schrieb:
Ggf. hilft es ja auch lam zu installieren und dann mit einer grafischen Oberfläche mal drauf zu schauen.
Wie meinst du denn das?
lam = ldap account manager ein ziemlich gutes Webinterface für Ldap-Server http://lam.sourceforge.net/ -- i.A. Ralf Prengel Customer Care Manager Comline AG Hauert 8 D-44227 Dortmund/Germany Fon +49231 97575- 904 Fax +49231 97575- 905 EMail ralf.prengel@comline.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi, 05.12.2008 07:46, Daniel Spannbauer wrote: ...
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt):
dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
Hast du das was du oben zeigst genau so an ldapmodify verfüttert? Dann solltest du mal in in der man-page von ldapmodify nachsehen... ... changetype: modify add: commonName (oder was auch immer) commonName: nobody und nur die tatsächlich zu ändernden Attribute angeben. Findet sich recht übersichtlich in ldapmodify(1)'s EXAMPLE-Abschnitt. Arno -- Arno Lehmann IT-Service Lehmann Sandstr. 6, 49080 Osnabrück www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Arno Lehmann schrieb:
Hi,
05.12.2008 07:46, Daniel Spannbauer wrote: ...
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt):
dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
Hast du das was du oben zeigst genau so an ldapmodify verfüttert? Dann solltest du mal in in der man-page von ldapmodify nachsehen...
... changetype: modify add: commonName (oder was auch immer) commonName: nobody
und nur die tatsächlich zu ändernden Attribute angeben.
Findet sich recht übersichtlich in ldapmodify(1)'s EXAMPLE-Abschnitt.
Jo, habs genauso dem ldap zu futtern gegeben. Dann werd ich das mal umbauen. Hast du ne Idee wie ich das bei ca. 500 Usern und deren Einträgen am schnellsten machen kann? Gurß Daniel
Arno
-- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi, 05.12.2008 11:09, Daniel Spannbauer wrote:
Arno Lehmann schrieb:
Hi,
05.12.2008 07:46, Daniel Spannbauer wrote: ...
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt):
dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
Hast du das was du oben zeigst genau so an ldapmodify verfüttert? Dann solltest du mal in in der man-page von ldapmodify nachsehen...
... changetype: modify add: commonName (oder was auch immer) commonName: nobody
und nur die tatsächlich zu ändernden Attribute angeben.
Findet sich recht übersichtlich in ldapmodify(1)'s EXAMPLE-Abschnitt.
Jo, habs genauso dem ldap zu futtern gegeben. Dann werd ich das mal umbauen.
Dann mal viel Erfolg...
Hast du ne Idee wie ich das bei ca. 500 Usern und deren Einträgen am schnellsten machen kann?
Tja... für 'ne einmaleige Aktion mit einem beliebigen Text-editor und Suchen&Ersetzen... eleganter und wiederverwendabe z.B. mit awk. Da würde ich aber lange brauchen bis ich per trial-and-error was zusammenstückle... Arno
Gurß
Dnake! ;-)
Daniel
-- Arno Lehmann IT-Service Lehmann Sandstr. 6, 49080 Osnabrück www.its-lehmann.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Arno Lehmann schrieb:
Hi,
05.12.2008 11:09, Daniel Spannbauer wrote:
Arno Lehmann schrieb:
Hi,
05.12.2008 07:46, Daniel Spannbauer wrote: ...
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt):
dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
Hast du das was du oben zeigst genau so an ldapmodify verfüttert? Dann solltest du mal in in der man-page von ldapmodify nachsehen...
... changetype: modify add: commonName (oder was auch immer) commonName: nobody
und nur die tatsächlich zu ändernden Attribute angeben.
Findet sich recht übersichtlich in ldapmodify(1)'s EXAMPLE-Abschnitt.
Jo, habs genauso dem ldap zu futtern gegeben. Dann werd ich das mal umbauen.
Dann mal viel Erfolg...
Hast du ne Idee wie ich das bei ca. 500 Usern und deren Einträgen am schnellsten machen kann?
Tja... für 'ne einmaleige Aktion mit einem beliebigen Text-editor und Suchen&Ersetzen... eleganter und wiederverwendabe z.B. mit awk. Da würde ich aber lange brauchen bis ich per trial-and-error was zusammenstückle...
Naja, awk bring ich zur Not hin, muss nur noch durch die Syntax durchsteigen, das wird dann eher Try-and-Error. Aber danke schonmal Gruß Daniel
Arno
Gurß
Dnake! ;-)
Daniel
-- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Daniel Spannbauer schrieb:
Hast du ne Idee wie ich das bei ca. 500 Usern und deren Einträgen am schnellsten machen kann?
Tja... für 'ne einmaleige Aktion mit einem beliebigen Text-editor und Suchen&Ersetzen... eleganter und wiederverwendabe z.B. mit awk. Da würde ich aber lange brauchen bis ich per trial-and-error was zusammenstückle...
Naja, awk bring ich zur Not hin, muss nur noch durch die Syntax durchsteigen, das wird dann eher Try-and-Error.
So, ist mehr Error als Try. Hab jetzt mal mit einer ganz simplen LDIF-Datei versucht den SN hinzuzufügen. Meine LDIF: dn: uid=nobody,ou=People,dc=marco,dc=de add: sn sn: hurz So, das ganze mit ldapmodify -h 10.3.0.3 -p 389 -c -x -D "cn=Administrator,dc=test,dc=de" -f test.ldif -W -v versucht zu impoertieren: Meldung: add sn: hurz modifying entry "uid=nobody,ou=People,dc=marco,dc=de" modify complete ldap_modify: Object class violation (65) additional info: attribute 'sn' not allowed Ich vermute mal das irgendwas mit den Schemata nicht stimmt, nur was? Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
2008/12/5 Daniel Spannbauer
Kann mir jemand sagen wo es hier zwischen den Shemas nicht stimmt? Ich finds irgendwie nicht....
Da fehlt die objectclass inetorgperson im Eintrag. Nur account und posixaccount erlauben keine Vor- und Nachnamen (sn und givenname), sondern da gibt's nur "gecos".
Ok, neue LDIF erzeugt (wird aus dem NIS mit den Tools von PADL gebastelt):
dn: uid=nobody,ou=People,dc=marco,dc=de uid: nobody cn: nobody sn: nobody objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: account objectClass: posixAccount objectClass: top userPassword: {crypt}xxxx uidNumber: 32767 gidNumber: 32767 homeDirectory: /
Also die inetorgperson ist jetzt drin. Beim Import bekomm ich jetzt Internal (implementation specific) error (80) additional info: no structuralObjectClass operational attribute
So langsam bringt mich das zur Weißglut. Was passt denn nun schon wieder nicht?
Die Objektklassen "account" und "inetorgperson" gehen nicht zusammen, da beide struktural sind und nicht "auxiliary" und auch nicht voneinander abgeleitet sind. Ich habe bei mir z.B. folgende Objektklassen in den Eintraegen: objectClass: inetOrgPerson objectClass: posixAccount objectClass: top objectClass: shadowAccount Damit gehen dann Vor- und Nachnamen und auch noch eine Menge anderer Attribute. Und man muss auch nicht die ganze Ableitungs-Hierarchie mit angeben, also "person" und "organizationalperson" sind redundant, wenn man "inetorgperson" hat. kk
participants (4)
-
Arno Lehmann
-
Daniel Spannbauer
-
Karsten Künne
-
Ralf Prengel