Made respectable install.sh

This commit is contained in:
john 2019-12-04 17:35:27 -05:00
parent 3baf3ffacb
commit 9000172d8a

View File

@ -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