NIS NetIDs

Goal

We want to create Net ID mapping in the following format:

dn: cn=unix.99@example.com,ou=NetIDs,dc=NIS,dc=Example,dc=com
nisMapName: nisObject
objectClass: nisObject
nisMapEntry: 99:99
cn: unix.99@example.com

Solution

First we create the source:

<source name="netids">

    <connection-name>NIS</connection-name>

    <field name="cn" primaryKey="true"/>
    <field name="nisMapEntry"/>
    <field name="nisMapName"/>

    <parameter>
      <param-name>objectClasses</param-name>
      <param-value>nisObject</param-value>
    </parameter>
    <parameter>
      <param-name>base</param-name>
      <param-value>system/netid.byname</param-value>
    </parameter>
    <parameter>
      <param-name>scope</param-name>
      <param-value>ONELEVEL</param-value>
    </parameter>

</source>

Then we create the mapping:

<entry dn="cn=...,ou=NetIDs,dc=NIS,dc=Example,dc=com">

    <oc>nisObject</oc>

    <at name="cn" rdn="true">
      <variable>o.cn</variable>
    </at>
    <at name="nisMapEntry">
      <variable>o.nisMapEntry</variable>
    </at>
    <at name="nisMapName">
      <variable>o.nisMapName</variable>
    </at>

    <source name="o">
      <source-name>netids</source-name>
      <field name="cn">
        <variable>cn</variable>
      </field>
      <field name="nisMapEntry">
        <variable>nisMapEntry</variable>
      </field>
      <field name="nisMapName">
        <variable>nisMapName</variable>
      </field>
    </source>

</entry>