Hi, I've been trying to creat a user with the following script : #!/bin/bash #This Script adds a LDAP USER With a Zarafa Account rm /tmp/ldapadduser.ldiff PATH="/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/usr/lib/java/jre/bin" # Variables USERNAME=$1 EMAILADRESS=$2 FNAME=$3 LNAME=$4 ALIAS=$5 ADMIN=$6 # echo dn: uid=$USERNAME,ou=Users,dc=company,dc=nl >> /tmp/ldapadduser.ldiff echo objectClass: posixAccount >> /tmp/ldapadduser.ldiff echo objectClass: top >> /tmp/ldapadduser.ldiff echo objectClass: inetOrgPerson >> /tmp/ldapadduser.ldiff echo objectClass: zarafa-user >> /tmp/ldapadduser.ldiff echo objectClass: qmailUser >> /tmp/ldapadduser.ldiff echo gidNumber: 65534 >> /tmp/ldapadduser.ldiff echo loginShell: /none >> /tmp/ldapadduser.ldiff echo givenName: $FNAME >> /tmp/ldapadduser.ldiff echo sn: $LNAME >> /tmp/ldapadduser.ldiff echo displayName: $FNAME $LNAME >> /tmp/ldapadduser.ldiff echo uid: $USERNAME >> /tmp/ldapadduser.ldiff echo homeDirectory: /none >> /tmp/ldapadduser.ldiff echo mail: $EMAILADRESS >> /tmp/ldapadduser.ldiff echo zarafaAccount: 1 >> /tmp/ldapadduser.ldiff echo zarafaQuotaOverride: 0 >> /tmp/ldapadduser.ldiff echo zarafaSharedStoreOnly: 0 >> /tmp/ldapadduser.ldiff echo zarafaAdmin: 0 >> /tmp/ldapadduser.ldiff echo zarafaQuotaHard: 1000 >> /tmp/ldapadduser.ldiff echo zarafaQuotaSoft: 900 >> /tmp/ldapadduser.ldiff echo zarafaQuotaWarn: 800 >> /tmp/ldapadduser.ldiff echo cn: $LNAME $LNAME >> /tmp/ldapadduser.ldiff echo uidNumber: 30266 >> /tmp/ldapadduser.ldiff And after this script i perform a ldapadd to add the user... BUT ! i have to have a unique uidNumber... Anyone ideas on how to do so ?? thnx in advance Jeffrey
I did not create this solution, but it is what we have implemented for a similar purpose and it is very easy and effective. The basic idea is to have an objectClass of 'uidNext', which has one required attribute of uidNumber. To begin, you create an entry with this objectClass and your desired starting uidNumber. You would check the uidNumber attribute of uidNext, delete the entry, then recreate the uidNext entry with uidNumber+1. Use the original uidNumber for your new user. Read more about the implementation: http://www.rexconsulting.net/ldap-protocol-uidNumber.html