The DUAConfigProfile is an attempt to provide for the common setup of LDAP for Linux and Unix Clients.
The goal of the DUAConfigProfile is an implementation of Directory User Agents (DUAs) described by RFC 2307. In developing these agents, we felt there are several issues that still need to be addressed to ease the deployment and configuration of a large network of these DUAs.
One of these challenges stems from the lack of a utopian schema. A utopian schema would be one that every application developer could agree upon and that would support every application. Unfortunately today, many DUAs define their own schema (like RFC 2307 vs. Microsoft's Services for Unix) containing similar attributes, but with different attribute names. This can lead to data redundancy within directory entries and give directory administrators unwanted challenges, updating schemas and synchronizing data.
So, one goal of RFC 4876 is to eliminate data redundancy by having DUAs configure themselves to the schema of the deployed directory, instead of forcing its own schema on the directory.
In so doing, the object classes posixNamingProfile and posixDUAProfile have been replaced by DUAConfigProfile.
LDIF Schema file to create the DUAConfigProfile
version: 1 dn: ou=profile,ou=services,dc=willeke,dc=com changetype: add objectClass: top objectClass: organizationalUnit ou: profile dn: cn=default,ou=profile,ou=services,dc=willeke,dc=com changetype: add ObjectClass: top ObjectClass: DUAConfigProfile defaultServerList: 10.44.82.1 10.44.82.2 defaultSearchBase: ou=services,dc=willeke,dc=com?one authenticationMethod: tls:simple followReferrals: FALSE defaultSearchScope: one searchTimeLimit: 30 profileTTL: 3000 bindTimeLimit: 10 cn: default credentialLevel: proxy serviceSearchDescriptor: passwd: ou=people,dc=willeke,dc=com?sub serviceSearchDescriptor: group: group:ou=group,ou=services,dc=willeke,dc=com?one serviceSearchDescriptor: netgroup:ou=netgroups,ou=services,dc=willeke,dc=com?one serviceSearchDescriptor: sudoers:ou=Sudoers,ou=services,dc=willeke,dc=com?one objectclassMap: passwd:posixAccount=posixAccount objectclassMap: group:posixGroup=posixGroup objectclassMap: sudoers:sudoRole=sudoRole objectclassMap: netgroup:nisNetgroup=nisNetgroup