#!/bin/sh -e

. shell-error
#. /etc/cl-user.conf
. ldap-config

ldap_config

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

pw="$(slappasswd -s $passwd)"
samba_pw="$(mkntpasswd $passwd)"
lm=${samba_pw%%:*}
nt=${samba_pw##*:}

[ -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 "$rootdn" $rootpw -x -H "ldap://${host:-localhost}"<<EOF
dn: uid=$user,ou=People,$base
userPassword: $pw
sambaLMPassword: $lm
sambaNTPassword: $nt
sambaPwdLastSet: 2147483647
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 0
EOF
