From 526924d1c507fff1d7cadfadeea0a8f4dc370468 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 4 Apr 2020 15:43:08 +0200 Subject: sshban: add an init script --- sshban_init.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 sshban_init.sh diff --git a/sshban_init.sh b/sshban_init.sh new file mode 100755 index 0000000..482a6be --- /dev/null +++ b/sshban_init.sh @@ -0,0 +1,48 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: sshban +# Required-Start: mountkernfs +# Required-Stop: +# Should-Start: +# X-Start-Before: +# Default-Start: S +# Default-Stop: +# Short-Description: Read sshd logs and ban abusers +# Description: Read sshd logs and ban abusers +### END INIT INFO + +if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then + set "$0" "$@" + INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script +fi + +DESC="SSHban" +DAEMON=/usr/local/bin/sshban +PIDFILE=/run/sshban.pid +USER=sshban +GROUP=nogroup +#ARGS="-d" +ARGS="" +SOURCE_FIFO=/run/rsyslog_sshd.fifo +ACTION="sudo /etc/firewall/ban.py" + +do_start_cmd() { + if [ ! -p ${SOURCE_FIFO} ]; then + mkfifo -m 600 ${SOURCE_FIFO} + chown ${USER} ${SOURCE_FIFO} + fi + + start-stop-daemon --start --oknodo --pidfile ${PIDFILE} --user ${USER} \ + --background --make-pidfile --chuid ${USER}:${GROUP} \ + --startas ${DAEMON} -- ${ARGS} ${SOURCE_FIFO} "${ACTION}" + return $? +} + +do_stop() { + start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} --user ${USER} + return $? +} +do_status() { + status_of_proc -p ${PIDFILE} ${DAEMON} ${DESC} + return $? +} -- cgit v1.2.3