HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Programming/Scripts (http://www.howtoforge.com/forums/forumdisplay.php?f=7)
-   -   LDAP add User script (http://www.howtoforge.com/forums/showthread.php?t=40658)

CMPJeff 3rd November 2009 13:31

LDAP add User script
 
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

adient 13th November 2009 20:01

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-pr...uidNumber.html


All times are GMT +2. The time now is 11:00.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.