title: OpenLDAP how to ensure uniqueness of the mail field within two subtrees while allowing duplicates across the subtrees?
body: <p>I am using OpenLDAP and I store my users under <code>ou=users,ou=developers,o=orga,dc=domain,dc=com</code></p>
  
  <p>Each user have a <code>mail</code> attribute which is used by application that use the LDAP for authentication.</p>
  
  <p>I also have a postfix mail server that I configured for using ldap. I store my email under <code>dc=mailAccount,dc=domain.com,dc=mail,dc=domain,dc=com</code></p>
  
  <p><img src="https://user-images.githubusercontent.com/1866564/27167650-0b97aeca-51cc-11e7-9ffd-691fcb721874.png" alt="image"></p>
  
  <p>I am now not able to set the real email in my user because the cn of the email is unique. </p>
  
  <pre><code>Attribute value would not be unique
  This update has been or will be cancelled, it would result in an attribute value not being unique. You might like to search the LDAP server for the offending entry.
  </code></pre>
  
  <p>I am storing the email dn instead but now I have the wrong email loaded and visible in most of my application like Gitlab : </p>
  
  <p><code>Email: mail=me@domain.com,dc=mailaccount,dc=domain.com,dc=mail,dc=domain,dc=com</code></p>
  
  <p>I was thinking it was OK to store the mail server account and the users in a differents part of my ldap.</p>
  
  <p>I can only import <code>*.ldif</code> file in phpLDAPadmin to edit entries and configuration, I don't the synthax for this.</p>
  
  <p><strong>edit</strong></p>
  
  <p>This is my postfix configuration:</p>
  
  <h1>ldap-aliases.cf</h1>
  
  <pre><code>server_host = ldap://virtual.domain.com
  server_port = 389
  search_base = dc=mail,dc=domain,dc=com
  query_filter = (&amp;(objectClass=CourierMailAlias) (mail=%s))
  result_attribute = maildrop
  bind = yes
  bind_dn = cn=readonly,dc=domain,dc=com
  bind_pw = 123
  version = 3
  
  tls_ca_cert_file = /etc/postfix/ssl/cacert.pem
  tls_cert = /etc/postfix/ssl/mail.domain.com-full.pem
  tls_key = /etc/postfix/ssl/mail.domain.com-key.pem
  </code></pre>
  
  <h1>ldap-accounts.cf</h1>
  
  <pre><code>server_host = ldap://virtual.domain.com
  server_port = 389
  search_base = dc=mail,dc=domain,dc=com
  query_filter = (&amp;(objectClass=CourierMailAccount)(mail=%s))
  result_attribute = mailbox
  bind = yes
  bind_dn = cn=readonly,dc=domain,dc=com
  bind_pw = 123
  version = 3
  
  tls_ca_cert_file = /etc/postfix/ssl/cacert.pem
  tls_cert = /etc/postfix/ssl/mail.domain.com-full.pem
  tls_key = /etc/postfix/ssl/mail.domain.com-key.pem
  </code></pre>
  
  <h1>ldap-domain.cf</h1>
  
  <pre><code>server_host = ldap://virtual.domain.com
  server_port = 389
  search_base = dc=mail,dc=domain,dc=com
  query_filter = (&amp;(description=virtualDomain)(dc=%s))
  result_attribute = dc
  bind = yes
  bind_dn = cn=readonly,dc=domain,dc=com
  bind_pw = 123
  version = 3
  
  tls_ca_cert_file = /etc/postfix/ssl/cacert.pem
  tls_cert = /etc/postfix/ssl/mail.domain.com-full.pem
  tls_key = /etc/postfix/ssl/mail.domain.com-key.pem
  </code></pre>
  
  <p>This is the export of the whole tree</p>
  
  <h1>LDIF Export for dc=domain,dc=com</h1>
  
  <pre><code># Server: ldap.service.domain-ovh.consul (ldap.service.domain-ovh.consul)
  # Search Scope: sub
  # Search Filter: (objectClass=*)
  # Total Entries: 74
  #
  # Generated by phpLDAPadmin (http://phpldapadmin.sourceforge.net) on June 14, 2017 9:48 pm
  # Version: 1.2.3
  
  version: 1
  
  # Entry 1: dc=domain,dc=com
  dn: dc=domain,dc=com
  dc: domain
  o: vdm Ltd
  objectclass: top
  objectclass: dcObject
  objectclass: organization
  
  # Entry 2: cn=admin,dc=domain,dc=com
  dn: cn=admin,dc=domain,dc=com
  cn: admin
  description: LDAP administrator
  objectclass: simpleSecurityObject
  objectclass: organizationalRole
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 3: cn=readonly,dc=domain,dc=com
  dn: cn=readonly,dc=domain,dc=com
  cn: readonly
  description: LDAP read only user
  objectclass: simpleSecurityObject
  objectclass: organizationalRole
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 4: cn=readonlypw,dc=domain,dc=com
  dn: cn=readonlypw,dc=domain,dc=com
  cn: readonlypw
  description: LDAP read only user with password
  objectclass: simpleSecurityObject
  objectclass: organizationalRole
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 5: dc=mail,dc=domain,dc=com
  dn: dc=mail,dc=domain,dc=com
  dc: mail
  o: mail
  objectclass: top
  objectclass: dcObject
  objectclass: organization
  
  # Entry 6: dc=domain.com,dc=mail,dc=domain,dc=com
  dn: dc=domain.com,dc=mail,dc=domain,dc=com
  dc: domain.com
  description: virtualDomain
  o: domain.com
  objectclass: top
  objectclass: dcObject
  objectclass: organization
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 7: dc=mailAccount,dc=domain.com,dc=mail,dc=domain,dc=com
  dn: dc=mailAccount,dc=domain.com,dc=mail,dc=domain,dc=com
  dc: mailAccount
  o: mailAccount
  objectclass: top
  objectclass: dcObject
  objectclass: organization
  
  # Entry 8: mail=Tom.Joseph@domain.com,dc=mailAccount,dc=domain...
  dn: mail=Tom.Joseph@domain.com,dc=mailAccount,dc=domain.com,dc=ma
   il,dc=domain,dc=com
  cn: Tom.Joseph@domain.com
  displayname: Tom Joseph
  givenname: Tom
  homedirectory: /var/mail
  mail: Tom.Joseph@domain.com
  mailbox: domain.com/Tom.Joseph/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: Joseph
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 9: mail=tom.soyer@domain.com,dc=mailAccount,dc=domain...
  dn: mail=tom.soyer@domain.com,dc=mailAccount,dc=domain.com,dc=
   mail,dc=domain,dc=com
  cn: tom.soyer@domain.com
  displayname: tom.soyer
  givenname: Tom
  homedirectory: /var/mail
  mail: tom.soyer@domain.com
  mailbox: domain.com/tom.soyer/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: Soyer
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 10: mail=john.woe@domain.com,dc=mailAccount,dc=domain...
  dn: mail=john.woe@domain.com,dc=mailAccount,dc=domain.com,dc=
   mail,dc=domain,dc=com
  cn: john.woe@domain.com
  displayname: john.woe
  givenname: Mat
  homedirectory: /var/mail
  mail: john.woe@domain.com
  mailbox: domain.com/john.woe/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: Voltaire
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 11: mail=git@domain.com,dc=mailAccount,dc=domain.com,dc=m...
  dn: mail=git@domain.com,dc=mailAccount,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: git@domain.com
  displayname: gitlab
  givenname: gitlab
  homedirectory: /var/mail
  mail: git@domain.com
  mailbox: domain.com/git/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: Email
  userpassword: {SSHA}123456789123456789123456789+DowTdRhEhkqVAwASugKp
  
  # Entry 12: mail=no-reply@domain.com,dc=mailAccount,dc=domain.com...
  dn: mail=no-reply@domain.com,dc=mailAccount,dc=domain.com,dc=mail,dc
   =domain,dc=com
  cn: no-reply@domain.com
  displayname: no-reply
  givenname: no-reply
  homedirectory: /var/mail
  mail: no-reply@domain.com
  mailbox: domain.com/no-reply/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: no-reply
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 13: mail=relay@domain.com,dc=mailAccount,dc=domain.com,dc...
  dn: mail=relay@domain.com,dc=mailAccount,dc=domain.com,dc=mail,dc=ko
   paxgroup,dc=com
  cn: relay@domain.com
  displayname: relay
  givenname: relay
  homedirectory: /var/mail
  mail: relay@domain.com
  mailbox: domain.com/relay/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: relay
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 14: mail=test@domain.com,dc=mailAccount,dc=domain.com,dc=...
  dn: mail=test@domain.com,dc=mailAccount,dc=domain.com,dc=mail,dc=kop
   axgroup,dc=com
  cn: test@domain.com
  displayname: Dev Email
  givenname: Dev
  homedirectory: /var/mail
  mail: test@domain.com
  mailbox: domain.com/test/
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAccount
  sn: Email
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 15: dc=mailAlias,dc=domain.com,dc=mail,dc=domain,dc=com
  dn: dc=mailAlias,dc=domain.com,dc=mail,dc=domain,dc=com
  dc: mailAlias
  o: mailAlias
  objectclass: top
  objectclass: dcObject
  objectclass: organization
  
  # Entry 16: mail=accounting@domain.com,dc=mailAlias,dc=domain.com...
  dn: mail=accounting@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc
   =domain,dc=com
  cn: accounting@domain.com
  displayname: Everybody
  mail: accounting@domain.com
  maildrop: sbg@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: accounting
  
  # Entry 17: mail=vdm@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=vdm@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: vdm@domain.com
  displayname: Tom Joseph
  givenname: Tom
  mail: vdm@domain.com
  maildrop: Tom.Joseph@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Joseph
  
  # Entry 18: mail=tsr@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=tsr@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: tsr@domain.com
  displayname: tom.soyer
  givenname: Sofiane
  mail: tsr@domain.com
  maildrop: tom.soyer@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Soyer
  
  # Entry 19: mail=all@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=all@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: all@domain.com
  displayname: Everybody
  mail: all@domain.com
  maildrop: sbg@domain.com tsr@domain.com vdm@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Everybody
  
  # Entry 20: mail=board@domain.com,dc=mailAlias,dc=domain.com,dc=m...
  dn: mail=board@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: board@domain.com
  displayname: Board
  mail: board@domain.com
  maildrop: sbg@domain.com tsr@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Board
  
  # Entry 21: mail=dev@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=dev@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: dev@domain.com
  displayname: Developers
  mail: dev@domain.com
  maildrop: sbg@domain.com tsr@domain.com vdm@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Developers
  
  # Entry 22: mail=sbg@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=sbg@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: sbg@domain.com
  displayname: john.woe
  givenname: Mat
  mail: sbg@domain.com
  maildrop: john.woe@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Voltaire
  
  # Entry 23: mail=hongkong@domain.com,dc=mailAlias,dc=domain.com,d...
  dn: mail=hongkong@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=k
   opaxgroup,dc=com
  cn: hongkong@domain.com
  displayname: Hong-Kong Offices
  mail: hongkong@domain.com
  maildrop: sbg@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Hong-Kong Offices
  
  # Entry 24: mail=job@domain.com,dc=mailAlias,dc=domain.com,dc=mai...
  dn: mail=job@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=vdmg
   roup,dc=com
  cn: job@domain.com
  displayname: Jobs
  mail: job@domain.com
  maildrop: sbg@domain.com vdm@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Jobs
  
  # Entry 25: mail=media@domain.com,dc=mailAlias,dc=domain.com,dc=m...
  dn: mail=media@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: media@domain.com
  displayname: Jobs
  mail: media@domain.com
  maildrop: sbg@domain.com vdm@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Jobs
  
  # Entry 26: mail=postmaster@domain.com,dc=mailAlias,dc=domain.com...
  dn: mail=postmaster@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc
   =domain,dc=com
  cn: postmaster@domain.com
  displayname: postmaster
  mail: postmaster@domain.com
  maildrop: sbg@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: postmaster
  
  # Entry 27: mail=social@domain.com,dc=mailAlias,dc=domain.com,dc=...
  dn: mail=social@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kop
   axgroup,dc=com
  cn: social@domain.com
  displayname: Social
  mail: social@domain.com
  maildrop: sbg@domain.com vdm@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Social
  
  # Entry 28: mail=test1@domain.com,dc=mailAlias,dc=domain.com,dc=m...
  dn: mail=test1@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: test1@domain.com
  displayname: Test Email
  mail: test1@domain.com
  maildrop: test@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Test Email
  
  # Entry 29: mail=test2@domain.com,dc=mailAlias,dc=domain.com,dc=m...
  dn: mail=test2@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: test2@domain.com
  displayname: Test Email
  mail: test2@domain.com
  maildrop: test@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Test Email
  
  # Entry 30: mail=test3@domain.com,dc=mailAlias,dc=domain.com,dc=m...
  dn: mail=test3@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc=kopa
   xgroup,dc=com
  cn: test3@domain.com
  displayname: Test Email
  mail: test3@domain.com
  maildrop: test@domain.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Test Email
  
  # Entry 31: mail=vietnamese@domain.com,dc=mailAlias,dc=domain.com...
  dn: mail=vietnamese@domain.com,dc=mailAlias,dc=domain.com,dc=mail,dc
   =domain,dc=com
  cn: vietnamese@domain.com
  displayname: Social
  mail: vietnamese@domain.com
  maildrop: sbg@domain.com vdm@domain.com tsr@domain.com debbiemcl
   ean86@gmail.com d.Voltaire@gmail.com
  objectclass: top
  objectclass: inetOrgPerson
  objectclass: CourierMailAlias
  sn: Social
  
  # Entry 32: o=vdm,dc=domain,dc=com
  dn: o=vdm,dc=domain,dc=com
  o: vdm Ltd
  o: vdm
  objectclass: top
  objectclass: organization
  
  # Entry 33: ou=administrations,o=vdm,dc=domain,dc=com
  dn: ou=administrations,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: administrations
  
  # Entry 34: ou=groups,ou=administrations,o=vdm,dc=domain,dc=com
  dn: ou=groups,ou=administrations,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: groups
  
  # Entry 35: cn=odoo_users,ou=groups,ou=administrations,o=vdm,dc=domain...
  dn: cn=odoo_users,ou=groups,ou=administrations,o=vdm,dc=domain,dc=com
  cn: odoo_users
  description: Users allowed to login to odoo.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 36: ou=users,ou=administrations,o=vdm,dc=domain,dc=com
  dn: ou=users,ou=administrations,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: users
  
  # Entry 37: ou=developers,o=vdm,dc=domain,dc=com
  dn: ou=developers,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: developers
  
  # Entry 38: ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  dn: ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: groups
  
  # Entry 39: cn=git_users,ou=groups,ou=developers,o=vdm,dc=domain,dc...
  dn: cn=git_users,ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  cn: Git Users
  cn: git_users
  description: Users allowed to login to git.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 40: cn=jenkins_admins,ou=groups,ou=developers,o=vdm,dc=domaino...
  dn: cn=jenkins_admins,ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  cn: Jenkins Administrators
  cn: jenkins_admins
  description: Staff members allowed to administrate to jenkins build system
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 41: cn=jenkins_users,ou=groups,ou=developers,o=vdm,dc=domainou...
  dn: cn=jenkins_users,ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  cn: Jenkins Users
  cn: jenkins_users
  description: Staff members allowed to login to jenkins build system
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 42: cn=private_users,ou=groups,ou=developers,o=vdm,dc=domainou...
  dn: cn=private_users,ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  cn: Private git users
  cn: private_users
  description: Users allowed to login to the private git
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 43: ou=sonar,ou=groups,ou=developers,o=vdm,dc=domain,dc=com...
  dn: ou=sonar,ou=groups,ou=developers,o=vdm,dc=domain,dc=com
  objectclass: organizationalUnit
  objectclass: top
  ou: sonar
  
  # Entry 44: cn=api-administrators,ou=sonar,ou=groups,ou=developers,o=kopa...
  dn: cn=api-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc=vdmg
   roup,dc=com
  cn: api-administrators
  description: administrators of domain/api
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 45: cn=api-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc...
  dn: cn=api-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc=domain
   ,dc=com
  cn: api-developers
  description: developers of domain/api
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 46: cn=backoffice-administrators,ou=sonar,ou=groups,ou=developers...
  dn: cn=backoffice-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc
   =domain,dc=com
  cn: backoffice-administrators
  description: administrators of domain/backoffice
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 47: cn=backoffice-developers,ou=sonar,ou=groups,ou=developers,o=k...
  dn: cn=backoffice-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc=kop
   axgroup,dc=com
  cn: backoffice-developers
  description: developers of domain/backoffice
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 48: cn=bootstrap-styled-administrators,ou=sonar,ou=groups,ou=deve...
  dn: cn=bootstrap-styled-administrators,ou=sonar,ou=groups,ou=developers,o=ko
   pax,dc=domain,dc=com
  cn: bootstrap-styled-administrators
  description: administrators of bootstrap-styled
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 49: cn=bootstrap-styled-developers,ou=sonar,ou=groups,ou=develope...
  dn: cn=bootstrap-styled-developers,ou=sonar,ou=groups,ou=developers,o=vdm,
   dc=domain,dc=com
  cn: bootstrap-styled-developers
  description: developers of bootstrap-styled
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 50: cn=dev-tools-administrators,ou=sonar,ou=groups,ou=developers,...
  dn: cn=dev-tools-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc=
   domain,dc=com
  cn: dev-tools-administrators
  description: administrators of module/devtools/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 51: cn=dev-tools-developers,ou=sonar,ou=groups,ou=developers,o=ko...
  dn: cn=dev-tools-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc=kopa
   xgroup,dc=com
  cn: dev-tools-developers
  description: developers of module/devtools/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 52: cn=java-api-administrators,ou=sonar,ou=groups,ou=developers,o...
  dn: cn=java-api-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc=k
   opaxgroup,dc=com
  cn: java-api-administrators
  description: administrators of git/java-api/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 53: cn=java-api-developers,ou=sonar,ou=groups,ou=developers,o=kop...
  dn: cn=java-api-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc=vdm
   group,dc=com
  cn: java-api-developers
  description: developers of git/java-api/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 54: cn=quality-gates-administrators,ou=sonar,ou=groups,ou=develop...
  dn: cn=quality-gates-administrators,ou=sonar,ou=groups,ou=developers,o=vdm
   ,dc=domain,dc=com
  cn: quality-gates-administrators
  description: quality-gates administrators
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 55: cn=quality-profiles-administrators,ou=sonar,ou=groups,ou=deve...
  dn: cn=quality-profiles-administrators,ou=sonar,ou=groups,ou=developers,o=ko
   pax,dc=domain,dc=com
  cn: quality-profiles-administrators
  description: quality-profiles administrators
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 56: cn=redstar-administrators,ou=sonar,ou=groups,ou=developers,o=...
  dn: cn=redstar-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc=ko
   paxgroup,dc=com
  cn: redstar-administrators
  description: administrators of redstar/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 57: cn=redstar-developers,ou=sonar,ou=groups,ou=developers,o=kopa...
  dn: cn=redstar-developers,ou=sonar,ou=groups,ou=developers,o=vdm,dc=vdmg
   roup,dc=com
  cn: redstar-developers
  description: developers of redstar/*
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 58: cn=sonar-administrators,ou=sonar,ou=groups,ou=developers,o=ko...
  dn: cn=sonar-administrators,ou=sonar,ou=groups,ou=developers,o=vdm,dc=kopa
   xgroup,dc=com
  cn: sonar-administrators
  description: Administrators of https://sonarqube.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  
  # Entry 59: cn=sonar-users,ou=sonar,ou=groups,ou=developers,o=vdm,dc=ko...
  dn: cn=sonar-users,ou=sonar,ou=groups,ou=developers,o=vdm,dc=domain,dc
   =com
  cn: sonar-users
  description: Users of https://sonarqube.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 60: ou=users,ou=developers,o=vdm,dc=domain,dc=com
  dn: ou=users,ou=developers,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: users
  
  # Entry 61: c=FR,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  dn: c=FR,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  c: FR
  description: France officies
  objectclass: country
  objectclass: top
  
  # Entry 62: c=HK,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  dn: c=HK,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  c: HK
  description: Hong-Kong officies
  objectclass: country
  objectclass: top
  
  # Entry 63: c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  dn: c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  c: VN
  description: Vietnam officies
  objectclass: country
  objectclass: top
  
  # Entry 64: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=...
  dn: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=com
  cn: john.woe
  employeetype: developer
  gecos: john.woe
  gidnumber: 14564101
  givenname: Mat
  homedirectory: /home/sbg
  loginshell: /bin/bash
  mail: mail=john.woe@domain.com,dc=mailAccount,dc=domain.com,d
   c=mail,dc=domain,dc=com
  objectclass: top
  objectclass: posixAccount
  objectclass: inetOrgPerson
  sn: Voltaire
  uid: sbg
  uidnumber: 14583102
  userpassword: {SSHA}123456789123456789123456789
  
  # Entry 65: ou=school,o=vdm,dc=domain,dc=com
  dn: ou=school,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: school
  
  # Entry 66: ou=groups,ou=school,o=vdm,dc=domain,dc=com
  dn: ou=groups,ou=school,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: groups
  
  # Entry 67: cn=module_users,ou=groups,ou=school,o=vdm,dc=domain,dc=...
  dn: cn=module_users,ou=groups,ou=school,o=vdm,dc=domain,dc=com
  cn: School git users
  cn: module_users
  description: Users allowed to login to module.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 68: cn=school_users,ou=groups,ou=school,o=vdm,dc=domain,dc=...
  dn: cn=school_users,ou=groups,ou=school,o=vdm,dc=domain,dc=com
  cn: School git users
  cn: school_users
  description: Users allowed to login to school.domain.com
  objectclass: top
  objectclass: groupOfUniqueNames
  uniquemember: uid=sbg,c=VN,ou=users,ou=developers,o=vdm,dc=domain,dc=c
   om
  uniquemember: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  uniquemember: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  
  # Entry 69: ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: ou=users,ou=school,o=vdm,dc=domain,dc=com
  objectclass: top
  objectclass: organizationalUnit
  ou: users
  
  # Entry 70: c=FR,ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: c=FR,ou=users,ou=school,o=vdm,dc=domain,dc=com
  c: FR
  description: France officies
  objectclass: country
  objectclass: top
  
  # Entry 71: c=HK,ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: c=HK,ou=users,ou=school,o=vdm,dc=domain,dc=com
  c: HK
  description: Hong-Kong officies
  objectclass: country
  objectclass: top
  
  # Entry 72: c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  c: VN
  description: Vietnam officies
  objectclass: country
  objectclass: top
  
  # Entry 73: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: uid=vdm,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  cn: Tom Joseph
  employeetype: developer
  gecos: Tom Joseph
  gidnumber: 14564103
  givenname: Tom
  homedirectory: /home/vdm
  loginshell: /bin/bash
  mail: mail=Tom.Joseph@domain.com,dc=mailAccount,dc=domain.com,dc=
   mail,dc=domain,dc=com
  objectclass: top
  objectclass: posixAccount
  objectclass: inetOrgPerson
  sn: Joseph
  uid: vdm
  uidnumber: 14583104
  userpassword: {SSHA}123456789123456789123456789+eiWwf9KTr4A+79CjyqY5/okZsL2Ke1
  
  # Entry 74: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  dn: uid=tsr,c=VN,ou=users,ou=school,o=vdm,dc=domain,dc=com
  cn: tom.soyer
  employeetype: developer
  gecos: tom.soyer
  gidnumber: 14564103
  homedirectory: /home/tsr
  loginshell: /bin/bash
  mail: mail=tom.soyer@domain.com,dc=mailAccount,dc=domain.com,d
   c=mail,dc=domain,dc=com
  objectclass: top
  objectclass: posixAccount
  objectclass: inetOrgPerson
  sn: Soyer
  uid: tsr
  uidnumber: 14583104
  userpassword: {SSHA}123456789123456789123456789
  </code></pre>