#!/bin/sh # # chkconfig: 345 60 40 # description: Starts and stops the knockd server # ### BEGIN INIT INFO # Provides: knockd # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Short-Description: Port knocking daemon # Description: Port knocking daemon ### END INIT INFO # # Source function library. . /etc/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 NAME=knockd BINARY=knockd PROCESS=knockd LOCKFILE=/var/lock/subsys/knock RETVAL=0 [ -x /etc/sysconfig/knockd ] && . /etc/sysconfig/knockd start() { gprintf "Starting %s: " "$NAME" daemon $BINARY -d $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch $LOCKFILE } stop() { gprintf "Shutting down %s: " "$NAME" killproc $PROCESS RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f $LOCKFILE } case "$1" in start) start ;; stop) stop ;; restart|reload) stop start ;; status) status $PROCESS RETVAL=$? ;; condrestart) [ -f $LOCKFILE ] && restart ;; *) gprintf "Usage: %s {start|stop|restart|status|condrestart}\n" "$0" RETVAL=1 esac exit $?