#!/bin/bash -e . .env . funcs usage() { echo "Usage : $(basename $0) -u -n -s [-p] [-g group1,group2,...]" } trap usage ERR while getopts 'u:n:s:p?g:?' opt; do case "$opt" in u) uid="$OPTARG" ;; n) gn="$OPTARG" ;; s) sn="$OPTARG" ;; p) posix="true" ;; g) grouplist=$( echo $OPTARG | tr ',' ' ') ;; esac done pw=$(/usr/sbin/slappasswd -s "salut$uid") if user_exists $uid; then echo "User $uid already exist." exit 1 fi user="dn: uid=$uid,$PEOPLEDN objectClass: top objectClass: inetOrgPerson sn: $sn gn: $gn cn: $gn $sn mail: $uid@$DOMAIN userPassword: $pw" echo "$user" | ldapadd $LDAPOPTS [ -n "$posix" ] && echo posix && ./person2posix $uid [ -n "$grouplist" ] && echo groups && ./addtogroups $uid $grouplist