1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunDAEMON="sshguard" 4*4882a593SmuzhiyunPIDFILE="/var/run/$DAEMON.pid" 5*4882a593Smuzhiyun 6*4882a593Smuzhiyunstart() { 7*4882a593Smuzhiyun printf 'Starting %s: ' "$DAEMON" 8*4882a593Smuzhiyun iptables -L sshguard > /dev/null 2>&1 || \ 9*4882a593Smuzhiyun (iptables -N sshguard && iptables -A INPUT -j sshguard) 10*4882a593Smuzhiyun start-stop-daemon -S -q -b -p /run/sshguard.pid \ 11*4882a593Smuzhiyun -x /usr/sbin/sshguard -- -i /run/sshguard.pid 12*4882a593Smuzhiyun status=$? 13*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 14*4882a593Smuzhiyun echo "OK" 15*4882a593Smuzhiyun else 16*4882a593Smuzhiyun echo "FAIL" 17*4882a593Smuzhiyun fi 18*4882a593Smuzhiyun return "$status" 19*4882a593Smuzhiyun} 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunstop() { 22*4882a593Smuzhiyun printf 'Stopping %s: ' "$DAEMON" 23*4882a593Smuzhiyun start-stop-daemon -K -q -p "$PIDFILE" 24*4882a593Smuzhiyun status=$? 25*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 26*4882a593Smuzhiyun rm -f "$PIDFILE" 27*4882a593Smuzhiyun echo "OK" 28*4882a593Smuzhiyun else 29*4882a593Smuzhiyun echo "FAIL" 30*4882a593Smuzhiyun fi 31*4882a593Smuzhiyun return "$status" 32*4882a593Smuzhiyun} 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunrestart() { 35*4882a593Smuzhiyun stop 36*4882a593Smuzhiyun sleep 1 37*4882a593Smuzhiyun start 38*4882a593Smuzhiyun} 39*4882a593Smuzhiyun 40*4882a593Smuzhiyuncase "$1" in 41*4882a593Smuzhiyun start|stop|restart) 42*4882a593Smuzhiyun "$1";; 43*4882a593Smuzhiyun reload) 44*4882a593Smuzhiyun # Restart, since there is no true "reload" feature. 45*4882a593Smuzhiyun restart;; 46*4882a593Smuzhiyun *) 47*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|reload}" 48*4882a593Smuzhiyun exit 1 49*4882a593Smuzhiyunesac 50