mirror of https://github.com/fail2ban/fail2ban
				
				
				
			
		
			
				
	
	
		
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
#!/usr/bin/bash -e
 | 
						|
#
 | 
						|
# fail2ban		This init.d script is used to start fail2ban.
 | 
						|
# (C) by Hanno Wagner <wagner@rince.de>, License is GPL
 | 
						|
 
 | 
						|
#set -x
 | 
						|
 | 
						|
. /lib/svc/share/smf_include.sh
 | 
						|
 | 
						|
set -e
 | 
						|
 | 
						|
 | 
						|
F2B_CONF="/etc/fail2ban/fail2ban.conf"
 | 
						|
if [ -n "$2" ] && [ -f "$F2B_CONF" ]; then
 | 
						|
  F2B_CONF="$2"
 | 
						|
fi
 | 
						|
 | 
						|
ENV="/usr/bin/env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin:/opt/sfw/bin:/usr/sfw/bin"
 | 
						|
 | 
						|
# get socket/pid conf and check dir exists
 | 
						|
# sock and pid default dirs are currently the same
 | 
						|
# mkdir if it doesn't exist
 | 
						|
SOCK_FILE=$(sed "/^\#/d" "$F2B_CONF" | grep "socket"  | tail -1 | cut -d "=" -f2-)
 | 
						|
SOCK_DIR=$(dirname $SOCK_FILE)
 | 
						|
if [ -n "$SOCK_DIR" ]; then
 | 
						|
	if [ ! -d "$SOCK_DIR" ]; then
 | 
						|
		mkdir "$SOCK_DIR" || exit 1
 | 
						|
	fi
 | 
						|
fi
 | 
						|
 | 
						|
case $1 in
 | 
						|
	start)
 | 
						|
		# remove any lingering sockets
 | 
						|
		# don't quote the var for the -e test
 | 
						|
		if [ -n "$SOCK_FILE" ]; then
 | 
						|
			if [ -e $SOCK_FILE ]; then
 | 
						|
				rm -f $SOCK_FILE || exit 1
 | 
						|
			fi
 | 
						|
		fi
 | 
						|
		[ -f /etc/fail2ban.conf ] || touch /etc/fail2ban.conf
 | 
						|
		echo "Starting fail2ban-server with $F2B_CONF"
 | 
						|
		eval $ENV /usr/local/bin/fail2ban-client start &
 | 
						|
	;;
 | 
						|
	stop)
 | 
						|
		echo "Stopping fail2ban-server with $F2B_CONF"
 | 
						|
		eval $ENV /usr/local/bin/fail2ban-client stop &
 | 
						|
	;;
 | 
						|
	reload | refresh )
 | 
						|
		echo "Reloading fail2ban-server with $F2B_CONF"
 | 
						|
		eval $ENV /usr/local/bin/fail2ban-client reload &
 | 
						|
	;;
 | 
						|
	restart | force-reload)
 | 
						|
		echo "Forcing reload of fail2ban-server with $F2B_CONF"
 | 
						|
		eval $ENV /usr/local/bin/fail2ban-client stop &
 | 
						|
		sleep 2
 | 
						|
		eval $ENV /usr/local/bin/fail2ban-client start &
 | 
						|
	;;
 | 
						|
	status)
 | 
						|
		/usr/local/bin/fail2ban-client status &
 | 
						|
	;;
 | 
						|
	*)
 | 
						|
		echo "Usage: /lib/svc/method/svc-fail2ban start|stop|status|refresh|restart|reload|force-reload" >&2
 | 
						|
		exit 2
 | 
						|
	;;
 | 
						|
esac
 |