mirror of https://github.com/fail2ban/fail2ban
				
				
				
			
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
#!/bin/bash
 | 
						|
#
 | 
						|
# chkconfig: - 92 08
 | 
						|
# processname: fail2ban-server
 | 
						|
# config: /etc/fail2ban/fail2ban.conf
 | 
						|
# pidfile: /var/run/fail2ban/fail2ban.pid
 | 
						|
# description: fail2ban is a daemon to ban hosts that cause multiple authentication errors
 | 
						|
#
 | 
						|
### 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: 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/rc.d/init.d/functions
 | 
						|
 | 
						|
# Check that the config file exists
 | 
						|
[ -f /etc/fail2ban/fail2ban.conf ] || exit 0
 | 
						|
 | 
						|
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: "
 | 
						|
    ${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
 |