Hi Harry,
have done this here with an extended schema for a
heterogeneous environment of AIX, HPUX, Solaris and Linux.
Extended posixaccount to x-posixaccount with attributetypes (complete schema on request):
'x-homeDirectory'
'x-SolarishomeDirectory'
'x-AIXhomeDirectory'
'x-LinuxhomeDirectory'
'x-HPUXhomeDirectory'
'x-loginShell'
'x-SolarisloginShell'
'x-AIXloginShell'
'x-LinuxloginShell'
'x-HPUXloginShell'
'x-uidNumber'
'x-SolarisuidNumber'
'x-AIXuidNumber'
'x-LinuxuidNumber'
'x-HPUXuidNumber'
'x-gidNumber'
'x-SolarisgidNumber'
'x-AIXgidNumber'
'x-LinuxgidNumber'
'x-HPUXgidNumber'
'x-AIX5shadowLastChange'
'x-AIX5shadowMin'
'x-AIX5shadowMax'
'x-AIX5shadowWarning'
'x-AIX5shadowInactive'
'x-AIX5shadowExpire'
'x-AIX5shadowFlag'
Objectclasses:
'x-posixAccount'
'x-shadowAccount'
'x-posixGroup'
Then configure ldap clients with proper attribute mapping, example for Solaris:
NS_LDAP_ATTRIBUTEMAP= passwd:uidNumber=x-SolarisuidNumber
NS_LDAP_ATTRIBUTEMAP= passwd:gidNumber=x-SolarisgidNumber
NS_LDAP_ATTRIBUTEMAP= passwd:homeDirectory=x-SolarishomeDirectory
NS_LDAP_ATTRIBUTEMAP= passwd:loginSHell=x-SolarisloginShell
Now each operating system can have its own uid/gid combination and shadow
attributes for a given username.
Disadvantage is, that You have slightly more complex users and You have to
provide consistent settings on all machines of the same operating system.
dn: uid=myname,ou=Person,dc=myEnterprise,dc=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: x-posixAccount
objectClass: shadowAccount
sn: myname
cn: myname
uid: myname
mail: myname@myEnterpsiem.com
uidNumber: 287564
gecos: myname
displayName: myname
x-LinuxuidNumber: 287564
x-SolarisuidNumber: 287564
x-HPUXuidNumber: 287564
x-AIXuidNumber: 287564
homeDirectory: /home/myname
x-AIXhomeDirectory: /home/myname
x-HPUXhomeDirectory: /home/myname
x-LinuxhomeDirectory: /home/myname
x-SolarishomeDirectory: /home/myname
loginShell: /usr/bin/bash
x-LinuxloginShell: /bin/bash
x-HPUXloginShell: /bin/ksh
x-SolarisloginShell: /usr/bin/bash
x-AIXloginShell:: /bin/sh
gidNumber: 50001
x-HPUXgidNumber: 50001
x-SolarisgidNumber: 50001
x-LinuxgidNumber: 50001
x-AIXgidNumber: 50001
.
.
.
Kind regards
Juergen Sprenger