Perché non posso utilizzare inetOrgPerson con groupOfNames?

Sto cercando di creare un utente in LDAP che utilizza classi di oggetti inetOrgPerson con groupOfNames (quindi potrei utilizzare l'attributo 'membro'), ma non mi lascerà import quale combinazione cerco. Qual è il modo corretto di utilizzare l'attributo "membro"?

Questo è il messaggio di errore che viene visualizzato quando si tenta di aggiungerlo tramite Apache Directory Studio.

  • nss_ldap: "getent passwd" funziona, "getent passwd <username>" non riesce?
  • Persuading openldap per lavorare con SSL su Ubuntu con cn = config
  • Inizio lento di IE8 a causa delle query DNS LDAP
  • OpenLDAP su Ubuntu Server 10.04
  • Snow Leopard si blocca quando si utilizza OpenLDAP su Linux per l'authentication
  • Autenticazione LDAP aperta - Come verificare userPassword senza bind?
  • Error while creating entry - [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUES java.lang.Exception: [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUEST Message ID : 113 Add Request : Entry dn[n]: uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com objectClass: groupOfNames objectClass: organizationalPerson objectClass: person objectClass: top objectClass: inetOrgPerson uid: sadsadsadadad@test.com member: cn=user,ou=role,dc=test,dc=com sn: sadsadsad cn: sdsadsad : ERR_61 Entry uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS ( 2.5.6.9 NAME 'groupOfNames' DESC RFC2256: a group of names (DNs) SUP 'top' STRUCTURAL MUST ( 'cn' $ 'member' ) MAY ( 'businessCategory' $ 'seeAlso' $ 'owner' $ 'ou' $ 'o' $ 'description' ) ) , OBJECT_CLASS ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC RFC2798: Internet Organizational Person SUP 'organizationalPerson' STRUCTURAL MAY ( 'audio' $ 'businessCategory' $ 'carLicense' $ 'departmentNumber' $ 'displayName' $ 'employeeNumber' $ 'employeeType' $ 'givenName' $ 'homePhone' $ 'homePostalAddress' $ 'initials' $ 'jpegPhoto' $ 'labeledURI' $ 'mail' $ 'manager' $ 'mobile' $ 'o' $ 'pager' $ 'photo' $ 'roomNumber' $ 'secretary' $ 'uid' $ 'userCertificate' $ 'x500UniqueIdentifier' $ 'preferredLanguage' $ 'userSMIMECertificate' $ 'userPKCS12' ) ) ]] at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkResponse(DirectoryApiConnectionWrapper.java:1280) at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.access$600(DirectoryApiConnectionWrapper.java:109) at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper$6.run(DirectoryApiConnectionWrapper.java:928) at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.runAndMonitor(DirectoryApiConnectionWrapper.java:1175) at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.checkConnectionAndRunAndMonitor(DirectoryApiConnectionWrapper.java:1109) at org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper.createEntry(DirectoryApiConnectionWrapper.java:950) at org.apache.directory.studio.ldapbrowser.core.jobs.CreateEntryRunnable.createEntry(CreateEntryRunnable.java:224) at org.apache.directory.studio.ldapbrowser.core.jobs.CreateEntryRunnable.run(CreateEntryRunnable.java:124) at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:112) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) [LDAP: error code 65 - OBJECT_CLASS_VIOLATION: failed for MessageType : ADD_REQUEST Message ID : 113 Add Request : Entry dn[n]: uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com objectClass: groupOfNames objectClass: organizationalPerson objectClass: person objectClass: top objectClass: inetOrgPerson uid: sadsadsadadad@test.com member: cn=user,ou=role,dc=test,dc=com sn: sadsadsad cn: sdsadsad : ERR_61 Entry uid=sadsadsadadad@test.com,o=test,ou=tenant,dc=test,dc=com contains more than one STRUCTURAL ObjectClass: [OBJECT_CLASS ( 2.5.6.9 NAME 'groupOfNames' DESC RFC2256: a group of names (DNs) SUP 'top' STRUCTURAL MUST ( 'cn' $ 'member' ) MAY ( 'businessCategory' $ 'seeAlso' $ 'owner' $ 'ou' $ 'o' $ 'description' ) ) , OBJECT_CLASS ( 2.16.840.1.113730.3.2.2 NAME 'inetOrgPerson' DESC RFC2798: Internet Organizational Person SUP 'organizationalPerson' STRUCTURAL MAY ( 'audio' $ 'businessCategory' $ 'carLicense' $ 'departmentNumber' $ 'displayName' $ 'employeeNumber' $ 'employeeType' $ 'givenName' $ 'homePhone' $ 'homePostalAddress' $ 'initials' $ 'jpegPhoto' $ 'labeledURI' $ 'mail' $ 'manager' $ 'mobile' $ 'o' $ 'pager' $ 'photo' $ 'roomNumber' $ 'secretary' $ 'uid' $ 'userCertificate' $ 'x500UniqueIdentifier' $ 'preferredLanguage' $ 'userSMIMECertificate' $ 'userPKCS12' ) ) ]] 

  • Può Windows autenticare contro ApacheDS?
  • L'installazione di ApacheDS non riesce dopo il riavvio
  • Come posso triggersre lo schema nis in apacheDS?
  • HOWTO: la directory triggers di Clone a apacheDS
  • LDAP: voci per servizi?
  • Qual è la differenza tra un "Entry" e un "Context Entry" in ApacheDS / LDAP?
  • One Solution collect form web for “Perché non posso utilizzare inetOrgPerson con groupOfNames?”

    Il motivo tecnico è che entrambi i groupOfNames e l'object objectClass sono reciprocamente esclusivi. Sono entrambe classi strutturali, ma senza una relazione subordinata, rendendole diverse catene objectClass e secondo RFC 4512 :

    Un object o un alias è caratterizzato da una catena superclass di oggetti strutturali, che ha una singola class di oggetti strutturali come la class object più subordinata.

    Un gruppo ha membri, ma una persona non è un gruppo e non può avere membri come un gruppo.

    Per quanto so che normalmente fai una persona un membro di un gruppo e il server LDAP fornisce una function interna per mantenere la mapping di ricerca inversa per recuperare facilmente i gruppi di cui appartiene un object, un attributo virtuale se si vuole, in genere, l'attributo memberOf . ApacheDS potrebbe non supportre questo ( ancora ).

    In altre parole, i gruppi di un object LDAP appartiene a non è una properties; dell'object stesso e probabilmente non dovresti nemless desiderare di provare a mantenerlo manualmente.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.