#!/bin/bash # 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 PIDFILE=/var/run/samhain.pid . /etc/default/rcS . /etc/default/samhain-client if [ "x$SAMHAIN_CLIENT_START" != "xyes" ]; then echo "${0}: client disabled in /etc/default/samhain-client" 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-client 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}" start-stop-daemon --start --quiet --exec $DAEMON RETVAL=$? samhain_done ;; stop) echo -n "Stopping $NAME" start-stop-daemon --stop --quiet --exec $DAEMON RETVAL=$? # # 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 samhain_done ;; restart) $0 stop sleep 3 $0 start RETVAL=$? ;; reload|force-reload) echo -n "Reloading $NAME configuration files" start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON RETVAL=$? samhain_done ;; status) $DAEMON status RETVAL=$? log_stat_msg ${RETVAL} ;; *) echo "$0 usage: {start|stop|status|restart|reload}" exit 1 ;; esac exit $RETVAL