blob: 482a6bea309bd7850b1dd1bb752b1128126220b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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 $?
}
|