diff options
Diffstat (limited to 'meta-security/recipes-security/fail2ban/files/initd')
-rw-r--r-- | meta-security/recipes-security/fail2ban/files/initd | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/meta-security/recipes-security/fail2ban/files/initd b/meta-security/recipes-security/fail2ban/files/initd new file mode 100644 index 0000000000..4f4b394c43 --- /dev/null +++ b/meta-security/recipes-security/fail2ban/files/initd @@ -0,0 +1,98 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: fail2ban +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: $time $network $syslog iptables firehol shorewall ferm +# Should-Stop: $network $syslog iptables firehol shorewall ferm +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/Stop fail2ban +# Description: Start/Stop fail2ban, a daemon to ban hosts that cause multiple authentication errors +### END INIT INFO + +# Source function library. +. /etc/init.d/functions + +# Check that the config file exists +[ -f /etc/fail2ban/fail2ban.conf ] || exit 0 + +check_privsep_dir() { + # Create the PrivSep empty dir if necessary + if [ ! -d /var/run/fail2ban ]; then + mkdir /var/run/fail2ban + chmod 0755 /var/run/fail2ban + fi +} + +FAIL2BAN="/usr/bin/fail2ban-client" +prog=fail2ban-server +lockfile=${LOCKFILE-/var/lock/subsys/fail2ban} +socket=${SOCKET-/var/run/fail2ban/fail2ban.sock} +pidfile=${PIDFILE-/var/run/fail2ban/fail2ban.pid} +RETVAL=0 + +start() { + echo -n $"Starting fail2ban: " + check_privsep_dir + ${FAIL2BAN} -x start > /dev/null + RETVAL=$? + if [ $RETVAL = 0 ]; then + touch ${lockfile} + echo_success + else + echo_failure + fi + echo + return $RETVAL +} + +stop() { + echo -n $"Stopping fail2ban: " + ${FAIL2BAN} stop > /dev/null + RETVAL=$? + if [ $RETVAL = 0 ]; then + rm -f ${lockfile} ${pidfile} + echo_success + else + echo_failure + fi + echo + return $RETVAL +} + +reload() { + echo "Reloading fail2ban: " + ${FAIL2BAN} reload + RETVAL=$? + echo + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + status -p ${pidfile} ${prog} >/dev/null 2>&1 && exit 0 + start + ;; + stop) + stop + ;; + reload) + reload + ;; + restart) + stop + start + ;; + status) + status -p ${pidfile} ${prog} + RETVAL=$? + [ $RETVAL = 0 ] && ${FAIL2BAN} status + ;; + *) + echo $"Usage: fail2ban {start|stop|restart|reload|status}" + RETVAL=2 +esac + +exit $RETVAL |