Hi everyone,

I am trying to synchronize users from an OpenLDAP server (Ubuntu) to an AD
server (2008R2).
I am using the default LDAP scheam on both servers.

I built the lsc.xml configuration file and you can find it enclosed.

The issue I have is the following:

[LDAP: error code 65 - 0000207B: UpdErr: DSID-030511CF, problem 6002
(OBJ_CLASS_VIOLATION), data 0]; remaining name 'cn=ttoto,cn=Users'

I followed the default procedure on the LSC website (
http://lsc-project.org/wiki/documentation/2.0/tutorials/openldaptoactivedirectory
)
I checked the mandatory attributes for each objectClass and it seems that
no attribute is missing.

Does anyone see the mistake I made in my configuration?

Best Regards, Paul Besset.
<?xml version="1.0" ?>
<!--
  In the following file, comments are describing each node. Elements are
  referenced through XPath expression, whereas attributes are prefixed with
  '@'

  //lsc Root node of the XML configuration file
  @xmlns XML Schema validation is not ready yet (Reserved for futur use)
  @id optional, added by XML API
  @revision mandatory, used by the Web Administration Interface to version
        this file
   -->
<lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.0.xsd"; revision="0">

<!--  ./connections Connections list node, must contain at least two connections -->

  <connections>

    <ldapConnection>
      <name>schoolldap</name>
      <url>ldap://schoolldap.fr:389/dc=schoolldap,dc=fr</url>
      <username>cn=admin,dc=schoolldap,dc=fr</username>
      <password>**********</password>
      <authentication>SIMPLE</authentication>
    </ldapConnection>

    <ldapConnection>
      <name>schoolAD</name>
      <url>ldap://schoolad.fr:389/dc=schoolad,dc=fr</url>
      <username>cn=Administrateur,cn=Users,dc=schoolad,dc=fr</username>
      <password>**********</password>
      <authentication>SIMPLE</authentication>
      <referral>IGNORE</referral>
      <derefAliases>NEVER</derefAliases>
      <version>VERSION_3</version>
      <pageSize>1000</pageSize>
    </ldapConnection>

  </connections>

  <tasks>
    <task>
      <name>adUser</name>
      <bean>org.lsc.beans.SimpleBean</bean>

      <ldapSourceService>
        <name>schoolldap-src-service</name>
        <connection reference="schoolldap" />
        <baseDn>cn=People,dc=schoolldap,dc=fr</baseDn>
        <pivotAttributes><string>uid</string></pivotAttributes>
        <fetchedAttributes>
          <string>cn</string>
          <string>sn</string>
          <string>uid</string>
          <string>mail</string>
        </fetchedAttributes>
        <getAllFilter>(&amp;(uid=*)(objectClass=inetOrgPerson))</getAllFilter>
        <getOneFilter>(&amp;(objectClass=*)(uid={uid}))</getOneFilter>
        <cleanFilter>(&amp;(objectClass=*)(uid={uid}))</cleanFilter>
      </ldapSourceService>

      <ldapDestinationService>
        <name>schoolAD-dst-service</name>
        <connection reference="schoolAD" />
        <baseDn>cn=Users,dc=schoolad,dc=fr</baseDn>
        <pivotAttributes><string>sAMAccountName</string></pivotAttributes>
        <fetchedAttributes>
          <string>cn</string>
          <string>sn</string>
          <string>uid</string>
          <string>mail</string>
        </fetchedAttributes>
        <getAllFilter>(&amp;(objectClass=user)(sAMAccountType=805306368))</getAllFilter>
        <getOneFilter>(&amp;(objectClass=user)(sAMAccountName={uid}))</getOneFilter>
      </ldapDestinationService>

      <propertiesBasedSyncOptions>
<!--    ./mainIdentifier This mandatory node must contain a string Javascript expression that will enforce the object main identifier.-->
        <mainIdentifier>"cn=" + srcBean.getDatasetFirstValueById("uid") + ",cn=Users,dc=schoolad,dc=fr"</mainIdentifier>
<!--    ./defaultDelimiter This mandatory node must contain a string Javascript expression that will enforce the object main identifier.-->
        <defaultDelimiter>,</defaultDelimiter>
<!--    ./defaultPolicy This mandatory node must contain a string Javascript expression that will enforce the object main identifier.-->
        <defaultPolicy>FORCE</defaultPolicy>
<!--    ./conditions This optional node may contain one or more of the four node : create, update, delete and changeId -->
        <conditions>
<!--       ./create This optional node may contain a boolean Javascript expression that will indicate whenever a new entry must be created or not -->
          <create>true</create>
<!--       ./update This optional node may contain a boolean Javascript expression that will indicate whenever a existing entry must be updated or not -->
<!--          <update>true</update> -->
<!--       ./delete This optional node may contain a boolean Javascript expression that will indicate whenever a existing entry must be deleted or not -->
<!--          <delete>true</delete> -->
<!--       ./changeId This optional node may contain a boolean Javascript expression that will indicate whenever an existing object main identifier must be changed or not -->
          <changeId>false</changeId>
        </conditions>
    <dataset>
     <name>objectClass</name>
     <policy>FORCE</policy>
     <createValues>
      <string>"top"</string>
      <string>"person"</string>
      <string>"organizationalPerson"</string>
      <string>"user"</string>
      <string>"inetOrgPerson"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>sAMAccountName</name>
     <policy>FORCE</policy>
     <createValues>
      <string>srcBean.getDatasetFirstValueById("uid")</string>
     </createValues>
    </dataset>
    <dataset>
     <name>name</name>
     <policy>FORCE</policy>
     <createValues>
      <string>srcBean.getDatasetFirstValueById("uid")</string>
     </createValues>
    </dataset>
    <dataset>
     <name>instanceType</name>
     <policy>FORCE</policy>
     <createValues>
      <string>"4"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>description</name>
     <policy>FORCE</policy>
     <createValues>
      <string>srcBean.getMainIdentifier()</string>
     </createValues>
    </dataset>
    <dataset>
     <!-- userPrincipalName = uid + "@lsc-project.org" -->
     <name>userPrincipalName</name>
     <policy>FORCE</policy>
     <createValues>
      <string>srcBean.getDatasetFirstValueById("uid") + "@lsc-project.org"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>distinguishedName</name>
     <policy>FORCE</policy>
     <createValues>
      <string>"cn=" + srcBean.getDatasetFirstValueById("uid") + ",cn=Users,dc=schoolad,dc=fr"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>objectCategory</name>
     <policy>FORCE</policy>
     <createValues>
      <string>"cn=" + srcBean.getDatasetFirstValueById("uid") + ",cn=Users,dc=schoolad,dc=fr"</string>
     </createValues>
    </dataset>
    <dataset>
     <name>userAccountControl</name>
     <policy>FORCE</policy>
     <createValues>
      <string>AD.userAccountControlSet( "0", [AD.UAC_SET_NORMAL_ACCOUNT])</string>
     </createValues>
    </dataset>
    <dataset>
     <!-- pwdLastSet = 0 to force user to change password on next connection -->
     <name>pwdLastSet</name>
     <policy>FORCE</policy>
     <createValues>
      <string>"0"</string>
     </createValues>
    </dataset>
    <dataset>
      <!-- unicodePwd = "changeit" at creation (requires SSL connection to AD) -->
     <name>unicodePwd</name>
     <policy>FORCE</policy>
     <createValues>
      <string>AD.getUnicodePwd("changeit")</string>
     </createValues>
    </dataset>
      </propertiesBasedSyncOptions>
    </task>
  </tasks>

<!-- ./security This mandatory node contains the security settings used by LSC -->
  <security>
<!-- ./encryption This optional node contains the encryption settings -->
    <encryption>
<!--  ./keyfile This optional node contains the keyfile location -->
      <keyfile>etc/lsc.key</keyfile>
<!--  ./algorithm This optional node contains the encryption algorithm -->
      <algorithm>AES</algorithm>
<!--  ./strength This optional node contains the algorithm key length -->
      <strength>128</strength>
    </encryption>
  </security>
</lsc>
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to