#!/bin/sh
# $NetBSD: script,v 1.3 2005/01/18 18:12:56 peter Exp $

BACKUPDIR="/var/sushi"
CONFFILE="/etc/usermgmt.conf"
BACKUP="${BACKUPDIR}/usermgmt.conf"

echo "Saving changes..."

if [ ! -d $BACKUPDIR ]; then
	mkdir $BACKUPDIR
	chown root:wheel $BACKUPDIR
	chmod 700 $BACKUPDIR
fi

if [ ! -f $CONFFILE ]; then
	touch $CONFFILE
	chown root:wheel $CONFFILE
	chmod 644 $CONFFILE
fi

# create a backup
cp -p $CONFFILE $BACKUP
if [ $? -ne 0 ]; then
	echo "Can't create a backup"
	exit 1
fi

BIGLIST="group class base_dir skel_dir shell inactive expire preserve \
password range"

j=0
for i in $BIGLIST
do
	j=`expr $j + 1`
	new=$(echo `eval echo \\$${j}` | sed -e 's/^ *//')
	if [ -z "$new" ]; then
		continue
	fi
	n=`echo $i | wc -m`
	if [ $n -gt 7 ]; then
		echo "$i	$new" >> $BACKUP.new
	else
		echo "$i		$new" >> $BACKUP.new
	fi
done

cp -p $BACKUP.new $CONFFILE

if [ $? -eq 0 ]; then
	echo "Successfully wrote a new $CONFFILE"
	echo ""
	cat $CONFFILE
else
	echo "Failed to write a new $CONFFILE"
fi

rm -f $BACKUP.new

exit 0
