diff -Naur mage-0.4.16/usr/lib/mage/mgroupadd mage-0.4.16-alx/usr/lib/mage/mgroupadd --- mage-0.4.16/usr/lib/mage/mgroupadd 2009-08-04 22:40:35.000000000 +0200 +++ mage-0.4.16-alx/usr/lib/mage/mgroupadd 2009-08-06 18:50:35.000000000 +0200 @@ -39,17 +39,6 @@ GROUP_TO_ADD="$1" -#start nscd to cache /etc/group -$(which nscd) -i group -# get the info -my_group="$(getent group ${GROUP_TO_ADD})" - # if above entries are empty the user/group does not exist -if [ -z "${my_group}" ] -then - echo " Adding group '${GROUP_TO_ADD}' ..." - groupadd ${GROUP_OPTS} "${GROUP_TO_ADD}" -else - echo " Modifing group '${GROUP_TO_ADD}' ..." - groupmod ${GROUP_OPTS} "${GROUP_TO_ADD}" -fi +echo " Adding group '${GROUP_TO_ADD}' ..." +addgroup ${GROUP_OPTS} "${GROUP_TO_ADD}" diff -Naur mage-0.4.16/usr/lib/mage/mgroupdel mage-0.4.16-alx/usr/lib/mage/mgroupdel --- mage-0.4.16/usr/lib/mage/mgroupdel 2009-08-04 22:40:35.000000000 +0200 +++ mage-0.4.16-alx/usr/lib/mage/mgroupdel 2009-08-06 18:50:35.000000000 +0200 @@ -20,15 +20,5 @@ GROUP_TO_DEL="$1" -#start nscd to cache /etc/group -$(which nscd) -i group -# get the info -my_user="$(getent group ${GROUP_TO_DEL})" - -if [ -z "${my_user}" ] -then - echo " User '${GROUP_TO_DEL}' already deleted ..." -else - echo " Deleting user '${GROUP_TO_DEL}' ..." - groupdel "${GROUP_TO_DEL}" -fi +echo " Deleting user '${GROUP_TO_DEL}' ..." +delgroup "${GROUP_TO_DEL}" diff -Naur mage-0.4.16/usr/lib/mage/museradd mage-0.4.16-alx/usr/lib/mage/museradd --- mage-0.4.16/usr/lib/mage/museradd 2009-08-04 22:40:35.000000000 +0200 +++ mage-0.4.16-alx/usr/lib/mage/museradd 2009-08-06 18:52:46.000000000 +0200 @@ -39,16 +39,46 @@ USER_TO_ADD="$1" -#start nscd to cache passwd -$(which nscd) -i passwd -# get the info -my_user="$(getent passwd ${USER_TO_ADD})" - -if [ -z "${my_user}" ] -then - echo " Adding user '${USER_TO_ADD}' ..." - useradd ${USER_OPTS} "${USER_TO_ADD}" -else - echo " Modifing user '${USER_TO_ADD}' ..." - usermod ${USER_OPTS} "${USER_TO_ADD}" -fi +fix_user_opts() +{ + local i + local FIXED_USER_OPTS + + for i in $* + do + case $1 in + -d) shift; FIXED_USER_OPTS+=" -h $1" ;; + -g) shift; FIXED_USER_OPTS+=" -G $1" ;; + -G) shift; shift; continue;; # will be parsed through fix_group_opts + -u) shift; [[ $1 -lt 100 ]] && FIXED_USER_OPTS+=" -S" ;; + *) FIXED_USER_OPTS+=" $1" ;; + esac + shift + done + + echo "${FIXED_USER_OPTS}" +} + +fix_group_opts() +{ + local i + local FIXED_GROUP_OPTS + + for i in $* + do + case $1 in + -G) shift; FIXED_GROUP_OPTS+="$(echo $1 | sed 's:,:\ :g')" ;; + esac + shift + done + + echo "${FIXED_GROUP_OPTS}" +} + + +echo " Adding user '${USER_TO_ADD}' ..." +adduser -D $(fix_user_opts ${USER_OPTS}) "${USER_TO_ADD}" +for grp in $(fix_group_opts ${USER_OPTS}) +do + addgroup "${USER_TO_ADD}" "${grp}" +done diff -Naur mage-0.4.16/usr/lib/mage/muserdel mage-0.4.16-alx/usr/lib/mage/muserdel --- mage-0.4.16/usr/lib/mage/muserdel 2009-08-04 22:40:35.000000000 +0200 +++ mage-0.4.16-alx/usr/lib/mage/muserdel 2009-08-06 18:50:35.000000000 +0200 @@ -20,15 +20,5 @@ USER_TO_DEL="$1" -#start nscd to cache passwd -$(which nscd) -i passwd -# get the info -my_user="$(getent passwd ${USER_TO_DEL})" - -if [ -z "${my_user}" ] -then - echo " User '${USER_TO_DEL}' already deleted ..." -else - echo " Deleting user '${USER_TO_DEL}' ..." - userdel "${USER_TO_DEL}" -fi +echo " Deleting user '${USER_TO_DEL}' ..." +deluser "${USER_TO_DEL}"