#!/bin/sh

#
# (c) spd_at_daphne.cps.unizar.es
# Thu Nov 18 09:05:31 CET 2004
# License: Cantoware - Si te gusta ya te puedes dar con un canto en los dientes
#
# This script will change some user's home at passwd NIS+ database
# Needs: root privileges
#


ECHO=/usr/bin/echo
DO=
usage()
{
	echo "Use: `basename $0` [-hqn] name newhome"
	echo "-q: quiet"
	echo "-n: do nothing"
}

set -- `getopt hqn $*`
for i in $*
do
	case $i in
	-q) ECHO=:; shift;;
	-n) DO=echo; shift;;
	-h)
		usage
		exit 0
		;;
	esac
done

umask 077

set -e

name=$2
home="$3"

if [ "_$name" = "_" ]
then
        echo "Empty name"
        usage
        exit 1
fi

if [ "_$home" = "_" ]
then
        echo "Empty home"
        usage
        exit 1
fi

expr "$home" : "^/[a-z][a-z]*/[a-z].*" > /dev/null 2>&1 || (
	echo \""$home"\" is not a valid \$HOME
	exit 1
)

test -d ${home}/. || echo "Warning: \"$home\" not found in filesystem"

echo Setting $name home to \""$home"\"

domain=`domainname`

# passwd # name passwd uid gid gcos home shell shadow
# cred # cname auth_type auth_name public_data private_data

nismatch name=$name passwd.org_dir && \
(
	$DO nistbladm -m home="$home" "[name=$name]",passwd.org_dir
) || \
echo user \"$name\" not found



