#!/bin/sh # chkconfig: 2345 99 10 # description: File Integrity Checking Daemon # # processname: samhain # config : /etc/samhainrc # logfile : /var/log/samhain_log # database: /var/lib/samhain/samhain_file # NAME=samhain DAEMON=/usr/sbin/samhain RETVAL=0 VERBOSE=yes PIDFILE=/var/run/samhain.pid . /etc/default/samhain-standalone if [ "x$SAMHAIN_STANDALONE_START" != "xyes" ]; then echo "${0}: samhain disabled in /etc/default/samhain-standalone" exit 0 fi if [ -x $DAEMON ]; then : else echo "${0}: executable ${DAEMON} not found" exit 1 fi if [ ! -e /var/lib/samhain/samhain_file ]; then echo "${0}: /var/lib/samhain/samhain_file does not exist. You must" echo " run 'samhain -t init' before samhian can start." exit 1 fi samhain_done() { if [ $RETVAL -eq 0 ]; then echo "." else echo " failed." fi } log_stat_msg () { case "$1" in 0) echo "Service $NAME: Running"; ;; 1) echo "Service $NAME: Stopped and /var/run pid file exists"; ;; 3) echo "Service $NAME: Stopped"; ;; *) echo "Service $NAME: Status unknown"; ;; esac } case "$1" in start) # # Remove a stale PID file, if found # if test -f ${PIDFILE}; then /bin/rm -f ${PIDFILE} fi echo -n "Starting ${NAME}" ( /sbin/start-stop-daemon --start --quiet --exec $DAEMON ) RETVAL=$? samhain_done exit $RETVAL ;; stop) echo -n "Stopping $NAME" ( /sbin/start-stop-daemon --stop --quiet --exec $DAEMON ) RETVAL=$? samhain_done # # Remove a stale PID file, if found # if test -f ${PIDFILE}; then /bin/rm -f ${PIDFILE} fi if test -S /var/run/${NAME}.sock; then /bin/rm -f /var/run/${NAME}.sock fi ;; restart) $0 stop sleep 3 $0 start RETVAL=$? ;; reload|force-reload) echo -n "Reloading $NAME configuration files" ( /sbin/start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON ) RETVAL=$? samhain_done ;; status) if pidof -o %PPID $DAEMON > /dev/null; then echo "Samhain running" RETVAL=0 else echo "Samhain not running" RETVAL=1 fi ;; *) echo "$0 usage: {start|stop|status|restart|reload}" exit 1 ;; esac exit $RETVAL