#!/bin/bash -e
. get_root

user="$1"
name="$2"
email="$3"
domain="${4:-ucm.dev}"
pubkeyfile="$5"

[ -n "$email" ] || {
	echo >&2 "usage: `basename "$0"` user \"real name\" \"<email@somewhere>\" [domain [ssh-public-key-file]]"
	exit 1
}

groups=people

grep "^$user:" /etc/passwd && {
	echo >&2 "user $user already exists"
	exit 1
}
grep "^$user:" /etc/group && {
	echo >&2 "group $user already exists"
	exit 1
}

groupadd "$user"
useradd -g "$user" -G "$groups" -c "$name" -s /bin/bash "$user"

cp -a /etc/skel /home/"$user"
chown "$user:$user" /home/"$user"
mkdir -p /home/"$user"/.ssh /var/www/"$user.$domain" #/var/www/"$user.$domain"/cgi-bin #/var/cgiemail/"$user" /var/log/apache2/"$user"

echo "$user"$'\t'"$name"$'\t'"$email" >> /root/people-list
#pushd ~share
#make
#popd

. which_user "$user"
. user_info "$user"

umask 0022

#setup_hello "$user"
setup_mail "$user"

ln -s /var/www/"$user.$domain" /home/"$user"/www
AK="/home/"$user"/.ssh/authorized_keys"
touch "$AK"

chmod go-rwx "$AK"
chmod go-w /home/"$user"
chmod go-w /home/"$user"/.ssh
[ -n "$pubkeyfile" ] && {
	cat "$pubkeyfile" | cut -d' ' -f1,3
	ssh-keygen -l -f "$pubkeyfile"
	cat <"$pubkeyfile" >>"$AK"
}

chown -R "$user":"$user" /home/"$user" /var/www/"$user.$domain" #/var/log/apache2/"$user" /var/cgiemail/"$user"
< /etc/apache2/user.template sed "s/USER/$user/g" > /etc/apache2/sites-available/"$user"

echo "$user	." >>/freens/"$domain"

a2ensite "$user"
[ -n "$noreload" ] || vhosts_changed

#touch /home/share/setup_login/$user
#touch /home/"$user"/.run_setup

pwgen 8 8
passwd "$user"

#if [ -z "$pubkeyfile" ]; then
#	echo ; echo
#	echo Does "$firstname" need a login password\?
#	echo If necessary, please run:
#	echo
#	echo '  'sudo setup_login_password_init \"$user\"
#fi

echo
