#! /bin/sh
#----------------------------------------------------------------------------
# remove-group - remove a group
#
# Copyright (c) 2001-2003 Frank Meyer <frank@eisfair.org>
#
# Creation:	04.11.2001  fm
# Last Update:  19.07.2003  fm
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#----------------------------------------------------------------------------

clrhome
colecho "Remove group" gn
echo

tty=`tty`

echo -e "Group to remove (e.g. 'www'): \c"
read group

if [ "$group" = "" ]
then
    echo
    /var/install/bin/anykey
    exit 0
fi

line=`grep "^$group:" /etc/group`

if [ "$line" = "" ]
then
    echo
    colecho "Group $group does not exist" br x br
    echo
    /var/install/bin/anykey
    exit 0
fi

IFS=':'
set -- $line

gid=$3

if [ $gid -lt 200 -o $gid -ge 65534 ]
then
    echo
    colecho "It is not allowed to remove group $group, sorry" br x br
    echo
    /var/install/bin/anykey
    exit 0
fi

while read line
do
    set -- $line
    g="$4"

    if [ $g = $gid ]
    then
	echo
	colecho "Cannot remove group $group, user $1 is member of $group" br x br
	echo
	/var/install/bin/anykey <$tty
	exit 0
    fi
done </etc/passwd

grep -v "^$group:" /etc/group >/tmp/group-$$
cp /tmp/group-$$ /etc/group		# cp: keep inode & permissions
rm -f /tmp/group-$$

echo
/var/install/bin/anykey