summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-04-04 15:43:08 +0200
committerAnton Khirnov <anton@khirnov.net>2020-04-04 15:43:08 +0200
commit526924d1c507fff1d7cadfadeea0a8f4dc370468 (patch)
treec6f5019e376f54f7556d53b5d6a4109aca52daa7
parent8c9a69297efaafe42f1826e1764e45b2006a9447 (diff)
sshban: add an init script
-rwxr-xr-xsshban_init.sh48
1 files changed, 48 insertions, 0 deletions
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 $?
+}