#!/bin/sh
# adduser script for use with shadow passwords and useradd command.
# by Hrvoje Dogan <hdogan@student.math.hr>, Dec 1995.
# Modified by Patrick Volkerding, Oct 1997.

echo
echo -n "Login name for new user (8 characters or less) []: "
read LOGIN
if [ -z "$LOGIN" ]
then echo "Come on, man, you can't leave the login field empty...";exit
fi
echo
echo -n "User id for $LOGIN [ defaults to next available]: "
read ID
GUID="-u $ID"
if [ -z "$ID" ] 
then GUID=""
fi

echo
echo -n "Initial group for $LOGIN [users]: "
read GID
if [ -z "$GID" ]; then
     GID="users"
fi
GGID="-g $GID"

#
# This triggers a bug in shadow-970616 and shadow-971001.  So, for now we will
# avoid adding users to additional groups when creating accounts with useradd.
# 
#echo
#echo -n "Additional groups for $LOGIN []: "
#read AGID
#GAGID="-G $AGID"
#if [ -z "$AGID" ]
#then GAGID=""
#fi

echo
echo -n "$LOGIN's home directory [/home/$LOGIN]: "
read HME
if [ -z "$HME" ]; then 
     HME="/home/$LOGIN"
fi
GHME="-d $HME"

echo
echo -n "$LOGIN's shell [/bin/bash]: "
read SHL
GSHL="-s $SHL"
if [ -z "$SHL" ]
then GSHL="-s /bin/bash"
     SHL="/bin/bash"
fi

echo
echo -n "$LOGIN's account expiry date (MM/DD/YY) []: "
read EXP
GEXP="-e $EXP"
if [ -z "$EXP" ]
then GEXP=""
fi
echo
echo "OK, I'm about to make a new account. Here's what you entered so far:"
echo
echo New login name: $LOGIN
if [ -z "$GUID" ] 
then echo New UID: [Next available]
else echo New UID: $UID
fi
if [ -z "$GGID" ]
then echo Initial group: users
else echo Initial group: $GID
fi
if [ -z "$GAGID" ]
then echo Additional groups: [none]
else echo Additional groups: $AGID
fi
if [ -z "$GHME" ]
then echo Home directory: /home/$LOGIN
else echo Home directory: $HME
fi
if [ -z "$GSHL" ]
then echo Shell: /bin/bash
else echo Shell: $SHL
fi
if [ -z "$GEXP" ]
then echo Expiry date: [no expiration]
else echo Expiry date: $EXP
fi
echo
echo "This is it... if you want to bail out, hit Control-C.  Otherwise, press"
echo "ENTER to go ahead and make the account."
read FOO
echo
echo Making new account...
/usr/sbin/useradd $GHME -m $GEXP $GGID $GAGID $GSHL $GUID $LOGIN
if [ -d $HME ]; then
  chmod 711 $HME
fi
echo
/usr/bin/chfn $LOGIN
echo
/usr/bin/passwd $LOGIN
echo "Done..."
