#!/bin/bash . .env uid=${1} user="dn: uid=%UID%,$PEOPLEDN changeType: modify add: objectClass objectClass: posixAccount - add: uidNumber uidNumber: %NUMBER% - add: gidNumber gidNumber: %NUMBER% - add: homeDirectory homeDirectory: /home/%UID% - add: loginShell loginShell: /bin/bash - add: objectClass objectClass: shadowAccount - add: objectClass objectClass: ldapPublicKey" group="dn: cn=%UID%,$GROUPSDN objectClass: top objectClass: posixGroup cn: %UID% gidNumber: %NUMBER% memberUid: %UID%" # get the list of currently used uid numbers and add 1 to get the next one uidnumber=$(( $(slapcat | grep 'gidNumber: 2' | cut -d' ' -f2 | sort -u | tail -n 1) +1)) # add the necessary attribbute for a posixAccount echo "$user" | sed \ -e "s/%NUMBER%/$uidnumber/" \ -e "s/%UID%/$uid/" #| $MODIFY_CMD # create a posic group with the same name and uid as the user # and add them to it echo "$group" | sed \ -e "s/%NUMBER%/$uidnumber/" \ -e "s/%UID%/$uid/" #| $ADD_CMD