diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-04-04 15:43:08 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-04-04 15:43:08 +0200 |
commit | 526924d1c507fff1d7cadfadeea0a8f4dc370468 (patch) | |
tree | c6f5019e376f54f7556d53b5d6a4109aca52daa7 | |
parent | 8c9a69297efaafe42f1826e1764e45b2006a9447 (diff) |
sshban: add an init script
-rwxr-xr-x | sshban_init.sh | 48 |
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 $? +} |