#!/bin/sh UIDMODE="rid" S4USER="$1" S4GROUP="$2" S4PASS="" S4SPREFIX="/usr/sbin" S4BPREFIX="/usr/bin" S4HOST="localhost" S4DNDOMAIN="DC=SOGO,DC=LOCAL" S4LDAPURI="ldap://mailxchange.sogo.local" S4SHELL="/bin/sh" S4HOME="/home/${S4USER}" echo "Creating s4 posix user ${S4USER}" echo "Pls enter pwd for ${S4USER}" ${S4SPREFIX}/samba-tool user add "${S4USER}" sleep 2 if [ "x$UIDMODE" == "xrid" ]; then S4UID=$( ${S4BPREFIX}/wbinfo -n "${S4USER}" | sed -e 's,.*-\([[:digit:]]\+\).*,\1,g' ) else S4UID=$( ${S4BPREFIX}/wbinfo -i "${S4USER}" | cut -d ":" -f 3 ) fi #add the posix attributes to the user echo "dn: CN=${S4USER},CN=Users,${S4DNDOMAIN} changetype: modify add: objectclass objectclass: PosixAccount - add: uidNumber uidNumber: ${S4UID} - add:unixHomeDirectory unixHomeDirectory: ${S4HOME} - add: loginShell loginShell: $S4SHELL" | \ ldapmodify -H ${S4LDAPURI} if [ "x$S4GROUP" != "x" ]; then S4GRID=$( ${S4BPREFIX}/wbinfo -n "${S4GROUP}" | sed -e 's,.*-\([[:digit:]]\+\).*,\1,g' ) echo ${S4SPREFIX}/samba-tool group addmembers "${S4GROUP}" "${S4USER}" ${S4SPREFIX}/samba-tool group addmembers "${S4GROUP}" "${S4USER}" sleep 1 #set the user to the posix group echo "dn: CN=${S4USER},CN=Users,${S4DNDOMAIN} changetype: modify replace: primaryGroupID primaryGroupID: ${S4GRID}" | \ ldapmodify -H ${S4LDAPURI} sleep 2 fi mkdir ${S4HOME} chown -R "${S4USER}": "${S4HOME}" echo "New user: ${S4USER} POSIX-ified"