#!/bin/sh
# $Id: deluserfromgroup,v 1.8 2004/03/10 08:08:07 kotoff Exp $
#
# deluserfromgroup: Simply _deletes_ <user> from supplementary <group>
#
# 06 Mar 2004, Dimitry V. Ketov <dketov@altlinux.ru>

function usage()
{
    echo "Usage: `basename $0` <user> <group> ..."
    exit
}

[ `id -u` -ne 0 ] && {
    echo "You must be a system administrator to run `basename $0`" >&2
    exit
}
[ -z "$1" ] && usage
[ -z "$2" ] && usage

user=$1
shift; groups=$*

currentgroups=`id -Gn $user`
newgroups=$currentgroups

for group in $groups
do
  newgroups=`echo $newgroups | tr ' ' '\n' | grep -v -w $group`
done

newgrouplist=`echo $newgroups | tr ' ' ','`

usermod -G "$newgrouplist" $user
