#!	/bin/sh
#
#	@(#)makehome.sh	13.1 (RC International) 91/02/02
#
# Make a home directory for the specified user(s).
# The user(s) must exist in the password file (/etc/passwd).

if [ $# = 0 ]
then
    echo Usage: $0 username ... 1>&2
    exit 1
fi

for USER in $*
do
    if PASSWD=`grep "^$USER:" /etc/passwd`
    then
	eval `echo $PASSWD | \
	  awk -F: '{ printf "GID=%s HOMEDIR=%s LOGINSHELL=%s",$4, $6, $7}'`

	if [ -d $HOMEDIR ]
	then
	    echo $0: Home directory $HOMEDIR exists already
	else
	    mkdir $HOMEDIR
	    if [ $? = 0 ]
	    then
		chmod 755 $HOMEDIR
		chown $USER $HOMEDIR
		chgrp $GID  $HOMEDIR
		echo Home directory $HOMEDIR created for user $USER
	    else
		echo "$0: Can't create home directory $HOMEDIR for $USER"
		exit 2
	    fi
	fi

	cd $HOMEDIR

	if [ ! -s .cshrc ]
	then
	    cp /etc/std.cshrc .cshrc
	    chown $USER .cshrc
	    chmod  644  .cshrc
	    echo  $HOMEDIR/.cshrc created ... 
	else
	    echo  $0: $HOMEDIR/.cshrc exists already. Not created ...
	fi

	if [ ! -s .login ]
	then
	    cp /etc/std.login .login
	    chown $USER .login
	    chmod  644  .login
	    echo  $HOMEDIR/.login created ... 
	else
	    echo  $0: $HOMEDIR/.login exists already. Not created ...
	fi

	if [ ! -s .logout ]
	then
	    cp /etc/std.logout .logout
	    chown $USER .logout
	    chmod  644  .logout
	    echo  $HOMEDIR/.logout created ... 
	else
	    echo  $0: $HOMEDIR/.logout exists already. Not created ...
	fi

	if [ ! -s .profile ]
	then
	    cp /etc/std.profile .profile
	    chown $USER .profile
	    chmod  644  .profile
	    echo  $HOMEDIR/.profile created ... 
	else
	    echo  $0: $HOMEDIR/.profile exists already. Not created ...
	fi
    else
	echo $0: $0: Unknown user $USER 1>&2
    fi
    echo ""
done
