You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-access/scripts/cl-access-setup

64 lines
1020 B

#!/bin/bash
ACCESSDIR=/var/lib/calculate/calculate-access/
SKELDIR=/usr/share/calculate/access
USERNAME=access
die() {
echo $* 1>&2
exit 1
}
create_user() {
useradd -d $ACCESSDIR -m $USERNAME -k $SKELDIR
chmod 700 $ACCESSDIR/bin/access-shell
}
is_user_exists() {
id $USERNAME &>/dev/null || return 1
}
is_homedir_exists() {
[[ -d $ACCESSDIR ]] || return 1
}
prepare_homedir() {
mkdir -p $ACCESSDIR
rsync -a $SKELDIR/ $ACCESSDIR/
chmod 700 $ACCESSDIR
chown access. -R $ACCESSDIR
chmod 700 $ACCESSDIR/bin/access-shell
}
if is_user_exists
then
if is_homedir_exists
then
echo "Access configured already"
exit 0
else
if prepare_homedir
then
echo "Access configured successful!"
exit 0
else
die "Failed to prepare $ACCESSDIR"
fi
fi
else
if is_homedir_exists
then
echo "Failed to configure access. Directory $ACCESSDIR is not empty"
exit 1
else
if create_user
then
echo "Access configured successful!"
exit 0
else
die "Failed to prepare $ACCESSDIR"
fi
fi
fi