From 9000172d8a72c5ed301ff62c9b895f3f30824877 Mon Sep 17 00:00:00 2001 From: john Date: Wed, 4 Dec 2019 17:35:27 -0500 Subject: [PATCH] Made respectable install.sh --- install.sh | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/install.sh b/install.sh index c4a581e..d516df5 100755 --- a/install.sh +++ b/install.sh @@ -1,17 +1,44 @@ #!/bin/bash -e +set -u + BINDIR=/usr/local/bin -B2F=ban2fail -DST=$BINDIR/$B2F +CONFDIR=/etc/ban2fail +OTHERDIR=/usr/local/share/ban2fail +SVCDIR=/etc/systemd/system -echo $0 $@ -env | grep INSTALL -strip release/$B2F -sudo /bin/cp -f release/$B2F $DST -sudo chown .adm $DST -sudo chmod 4750 $DST +BIN=ban2fail +CONF=ban2fail.cfg +SVC=ban2fail.service +SVCSH=ban2fail.sh -# TODO: create user, group, yadda yadda +# Make sure directories exist with correct ownership & mode +[[ -e $OTHERDIR ]] || sudo mkdir $OTHERDIR +sudo chown .adm $OTHERDIR +sudo chmod 2755 $OTHERDIR +[[ -e $CONFDIR ]] || sudo mkdir $CONFDIR +sudo chown .adm $CONFDIR +sudo chmod 2750 $CONFDIR +[[ -e $CONFDIR/$CONF ]] || sudo cp $CONF $CONFDIR + +[[ -e $BINDIR ]] || sudo mkdir $BINDIR + +# No need for debugging symbols in binary +strip release/$BIN +sudo cp -f release/$BIN $BINDIR/ +# Need suid bit so non-root can run iptables +sudo chmod 4750 $BINDIR/$BIN + +chmod +x $SVCSH +sudo cp -f $SVCSH $OTHERDIR/ + +systemctl status ban2fail &>/dev/null && sudo systemctl stop ban2fail +sudo /bin/cp $SVC $SVCDIR/ +sudo systemctl daemon-reload +sudo systemctl start ban2fail +sudo systemctl enable ban2fail + +echo "Installation completed successfully" exit 0