#!/bin/tcsh
#
# usage: addgroup -i		Interactive mode
#	 adduser name gid 
#
set GROUPF = /etc/group
#
if (`whoami` != root) then
  echo 'ADDGROUP must only be run as root!'
  exit 1
endif
#
if ( "x$1" == x-i ) then
  echo Addgroup Interactive mode
  echo ''
  echo -n 'GroupName: ' ;   set GROUP = ($<)
  if (x"$GROUP" == x) exit
  echo -n 'GroupID:   ' ;   set GID = ($<)
  if (x"$GID" == x) exit 
  echo -n 'Assign password? (y/N) ' ; set PWORD = ($< n); set PWORD = $PWORD[1]
  echo $PWORD
  if ( x$PWORD == xy || x$PWORD == xY || x$PWORD == xyes || x$PWORD == xYes || \
	x$PWORD == 'xYES' ) then 
	set PWORD = `getpass`
  else
	set PWORD = ''
  endif
  echo ''
  $0 "$GROUP" "$GID" "$PWORD"
else
  set GROUP = "$1" ;  set GID = "$2" ;  set PWORD = "$3"
  if (x$GROUP  == x) $0 -i
  if (x$GID == x) exit 1
#
# Check if GROUP name doesnt exist
#
  if (x`grget -n $GROUP -f '%n'` != x) then
    echo "name $GROUP is already in use"
    grget -n $GROUP
    exit 1
  endif
#
# Check if GID is already used
#
  if (x`grget -g $GID -f '%n'` != x) then
    echo "id $GID is already in use"
    grget -g $GID
    exit 1
  endif
#
# Create a new group entry
#
  echo "${GROUP}:${PWORD}:${GID}:" >> $GROUPF
endif

