#!/bin/sh
# Add Bash Accounts (Plus Shadow Password) 
# by Michael Whittle <michaelw@icon.co.za>, Dec 1997.  

if [ $# = 0 ] ; then
        echo "Add Bash Accounts V2.0"
        echo "by Michael Whittle <michaelw@icon.co.za>, Dec 1997."
        echo
        echo "Supported:"
        echo
        echo "  - Shadow Password"
        echo "  - Web Hosting"
        echo "  - Notification"
        echo
        echo "usage: addbash <username>"
        echo
        exit

fi

echo "Add Bash Accounts V2.0"
echo "by Michael Whittle <michaelw@icon.co.za>, Dec 1997."
echo
echo "Creating Account     ($1) "
echo -n "Home Directory       [/home/$1]: "
read HOME
HOME_DIR="-d $HOME"
if [ -z "$HOME" ] ; then 
   HOME_DIR="-d /home/$1"
   HOME="/home/$1"

fi
echo
echo "     -- Account Configuration --"
echo
echo -n "Expiry Date (MM/DD/YY)             []: "
read EXPIRY
EXPIRY_DATE="-e $EXPIRY"
if [ -z "$EXPIRY" ] ; then 
   EXPIRY_DATE=""
   EXPIRY=""

fi
echo -n "Inactive Time                    [-1]: "
read INACTIVE
INACTIVE_TIME="-f $INACTIVE"
if [ -z "$INACTIVE" ] ; then
   INACTIVE_TIME="-f -1"
   INACTIVE="-1"

fi
echo -n "Initial Group                 [users]: "
read GROUP
INITIAL_GROUP="-g $GROUP"
if [ -z "$GROUP" ] ; then 
   INITIAL_GROUP="-g users"
   GROUP="users"

fi
echo -n "Additional Groups                  []: "
read ADDITIONAL
ADDITIONAL_GROUP="-G $ADDITIONAL"
if [ -z "$ADDITIONAL" ] ; then
   ADDITIONAL_GROUP=""
   ADDITIONAL=""

fi
echo -n "Skeleton Directory        [/etc/skel]: "
read SKELETON
SKELETON_DIRECTORY="-k $SKELETON"
if [ -z "$SKELETON" ] ; then
   SKELETON_DIRECTORY="-k /etc/skel"
   SKELETON="/etc/skel"

fi
echo -n "Shell                     [/bin/bash]: "
read SHELL
SHELL_DIRECTORY="-s $SHELL"
if [ -z "$SHELL" ] ; then
   SHELL_DIRECTORY="-s /bin/bash"
   SHELL="/bin/bash"

fi 
echo -n "UID                                []: "
read USERID
UID_NUMBER="-u $USERID"
if [ -z "$USERID" ] ; then
   UID_NUMBER=""
   USERID=""

fi
echo
echo "      -- Account Confirmation --"
echo
echo "Home Directory                       = $HOME"
if [ -z $EXPIRY ]
then echo "Expiry Date                          = no expiration"
else echo "Expiry Date                          = $EXPIRY"

fi
if [ $INACTIVE = -1 ] 
then echo "Inactivity Time                      = disabled"
else echo "Inactivity Time                      = $INACTIVE"

fi
echo "Initial Group                        = $GROUP"

if [ -z $ADDITIONAL ] 
then echo "Additional Group(s)                  = none"
else echo "Additional Group(s)                  = $ADDITIONAL"

fi
echo "Skeleton Directory                   = $SKELETON"
echo "Shell                                = $SHELL"

if [ -z $USERID ]
then echo "UID                                  = next available"
else echo "UID                                  = $USERID"

fi
echo
echo "[ENTER] to Create                    [CTRL-C] to Abort"
read READKEY

echo "please wait..."

useradd -m $HOME_DIR $EXPIRY_DATE $INACTIVE_DATE $INITIAL_GROUP $ADDITIONAL_GROUP $SKELETON_DIRECTORY $SHELL_DIRECTORY $UID_NUMBER $1

clear
echo "Now that the account has been created this program needs to gather"
echo "some information for the database so that the user can be identified"
echo "by the system..."

echo
echo -n "Christian Name            []: "
read FIRST
FIRST_NAME="$FIRST"
if [ -z $FIRST ] ; then
   FIRST_NAME="Anonymous"
   FIRST="Anonymous"

fi
echo -n "Surname                   []: "
read SECOND
SECOND_NAME=""
if [ -z $SECOND ] ; then
   SECOND_NAME=""
   SECOND=""

fi
echo -n "Room Number               []: "
read ROOM
ROOM_NUMBER="-r $ROOM"
if [ -z $ROOM ] ; then
   ROOM_NUMBER=""
   ROOM=""

fi
echo -n "Work Number   [xxx-xxx-xxxx]: "
read WNUMBER
WORK_NUMBER="-w $WNUMBER"
if [ -z $WNUMBER ] ; then
   WORK_NUMBER=""
   WNUMBER=""

fi 
echo -n "Home Number   [xxx-xxx-xxxx]: "
read HNUMBER
HOME_NUMBER="-h $HNUMBER"
if [ -z $HNUMBER ] ; then
   HOME_NUMBER=""
   HNUMBER=""

fi
chfn -f "$FIRST $SECOND" $ROOM_NUMBER $WORK_NUMBER $HOME_NUMBER $1
echo
passwd $1

echo
echo "Generating Web Directory..."
mkdir $HOME/Web
chown $1 $HOME/Web
chgrp $GROUP $HOME/Web
chmod 755 $HOME
ln -s $HOME/Web /var/lib/httpd/htdocs/$1
echo "Gererating Home Page..."
echo
echo "--[ Start ] ---------------------------------------------------"
echo
echo "<HTML>" | tee $HOME/Web/index.html
echo "<HEAD>" | tee -a $HOME/Web/index.html
echo "  <TITLE>Bash Home Page ($1)</TITLE>" | tee -a $HOME/Web/index.html
echo "</HEAD>" | tee -a $HOME/Web/index.html
echo "<BODY BGCOLOR=#FFFFFF>" | tee -a $HOME/Web/index.html
echo "<CENTER>" | tee -a $HOME/Web/index.html
echo "<TABLE BORDER=1 WIDTH=50%>" | tee -a $HOME/Web/index.html
echo "<TH COLSPAN="2" BGCOLOR=#000000 ALIGN=Center><FONT COLOR=#FFFFFF>User Information</FONT></TH>" | tee -a $HOME/Web/index.html
echo "<TR>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>Name:</TD>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>$FIRST $SECOND</TD>" | tee -a $HOME/Web/index.html
echo "</TR>" | tee -a $HOME/Web/index.html
echo "<TR>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>Username:</TD>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>$1</TD>" | tee -a $HOME/Web/index.html
echo "</TR>" | tee -a $HOME/Web/index.html
echo "<TR>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>Bash Version:</TD>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>$BASH_VERSION</TD>" | tee -a $HOME/Web/index.html
echo "</TR>" | tee -a $HOME/Web/index.html
echo "<TR>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>Host Platform:</TD>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>$HOSTTYPE</TD>" | tee -a $HOME/Web/index.html
echo "</TR>" | tee -a $HOME/Web/index.html
echo "<TR>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>OS Type:</TD>" | tee -a $HOME/Web/index.html
echo "  <TD WIDTH=50%>$OSTYPE</TD>" | tee -a $HOME/Web/index.html
echo "</TR>" | tee -a $HOME/Web/index.html
echo "</TABLE> " | tee -a $HOME/Web/index.html
echo "</CENTER> " | tee -a $HOME/Web/index.html
echo "</FONT>" | tee -a $HOME/Web/index.html
echo "</BODY>" | tee -a $HOME/Web/index.html
echo "</HTML>" | tee -a $HOME/Web/index.html
echo
echo "--[ Finish ]---------------------------------------------------"
echo
echo "Updating Permissions..."
chown $1 $HOME/Web/index.html
chgrp $GROUP $HOME/Web/index.html
chmod 755 $HOME/Web/index.html
echo "Notifying User..."
cat /usr/sbin/addbash.new | mailto -s "Welcome Aboard!" $1

echo
echo "Done..."
