#!/bin/bash ACCESSDIR=/var/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 in $ACCESSDIR!" 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 in $ACCESSDIR!" exit 0 else die "Failed to prepare $ACCESSDIR" fi fi fi