#!/bin/sh -e

. shell-error
. /etc/cl-user.conf

[ "$#" -eq 1 ] || fatal "more arguments required"
user="$1"; shift

[ -n "$bindpw" ] && bindpw="-w $bindpw" || bindpw="-W"

pw="$(slappasswd -h '{CRYPT}')"

[ -n "$pw" ] || fatal "No password given"

uid="$(getent passwd "$user"|cut -f3 -d:)"
gid="$(getent passwd "$user"|cut -f4 -d:)"
home="$(getent passwd "$user"|cut -f6 -d:)"

#edit ldap
ldapmodify -D "$binddn" $bindpw -x -H "ldap://${host:-localhost}"<<EOF
dn: uid=$user,ou=People,$base
uid: $user
cn: $user
objectClass: account
objectClass: posixAccount
objectClass: top
userPassword: $pw
uidNumber: $uid
gidNumber: $gid
homeDirectory: $home
EOF
