#!/bin/bash # groupadd script till shadow is installed. # It *only* accepts the syntax mentioned. # No sanity checks are performed. if [ "$#" -ne 5 ] then echo "Usage: `basename $0` -O GID_MIN= -O GID_MAX= group" echo "Note: No sanity checks are performed." exit 1 fi T_GID_MIN=`expr "x$2" : 'x[^=]*=\(.*\)'` T_GID_MAX=`expr "x$4" : 'x[^=]*=\(.*\)'` T_GROUP=$5 T_GIDS=`cut -d : -f 3 /etc/group | sort -n` T_GID=0 for G in $T_GIDS do if [ $G -ge $T_GID_MAX ] then break fi if [ $G -ge $T_GID_MIN ] then T_GID=$G fi done if [ $T_GID -eq 0 ] then T_GID=$T_GID_MIN else T_GID=`expr $T_GID + 1` fi echo $T_GROUP:x:$T_GID: >> /etc/group