1#!/bin/sh 2# chkconfig: 2345 99 10 3# description: File Integrity Checking Daemon 4# 5# processname: samhain 6# config : /etc/samhainrc 7# logfile : /var/log/samhain_log 8# database: /var/lib/samhain/samhain_file 9# 10 11NAME=samhain 12DAEMON=/usr/sbin/samhain 13RETVAL=0 14VERBOSE=yes 15PIDFILE=/var/run/samhain.pid 16 17. /etc/default/samhain-standalone 18 19if [ "x$SAMHAIN_STANDALONE_START" != "xyes" ]; then 20 echo "${0}: samhain disabled in /etc/default/samhain-standalone" 21 exit 0 22fi 23 24if [ -x $DAEMON ]; then 25 : 26else 27 echo "${0}: executable ${DAEMON} not found" 28 exit 1 29fi 30 31if [ ! -e /var/lib/samhain/samhain_file ]; then 32 echo "${0}: /var/lib/samhain/samhain_file does not exist. You must" 33 echo " run 'samhain -t init' before samhian can start." 34 exit 1 35fi 36 37samhain_done() 38{ 39 if [ $RETVAL -eq 0 ]; then 40 echo "." 41 else 42 echo " failed." 43 fi 44} 45 46log_stat_msg () { 47case "$1" in 48 0) 49 echo "Service $NAME: Running"; 50 ;; 51 1) 52 echo "Service $NAME: Stopped and /var/run pid file exists"; 53 ;; 54 3) 55 echo "Service $NAME: Stopped"; 56 ;; 57 *) 58 echo "Service $NAME: Status unknown"; 59 ;; 60esac 61} 62 63case "$1" in 64 start) 65 # 66 # Remove a stale PID file, if found 67 # 68 if test -f ${PIDFILE}; then 69 /bin/rm -f ${PIDFILE} 70 fi 71 72 echo -n "Starting ${NAME}" 73 start-stop-daemon --start --quiet --exec $DAEMON 74 RETVAL=$? 75 samhain_done 76 exit $RETVAL 77 ;; 78 stop) 79 echo -n "Stopping $NAME" 80 start-stop-daemon --stop --quiet --exec $DAEMON 81 RETVAL=$? 82 samhain_done 83 # 84 # Remove a stale PID file, if found 85 # 86 if test -f ${PIDFILE}; then 87 /bin/rm -f ${PIDFILE} 88 fi 89 if test -S /var/run/${NAME}.sock; then 90 /bin/rm -f /var/run/${NAME}.sock 91 fi 92 ;; 93 94 restart) 95 $0 stop 96 sleep 3 97 $0 start 98 RETVAL=$? 99 ;; 100 101 reload|force-reload) 102 echo -n "Reloading $NAME configuration files" 103 start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON 104 RETVAL=$? 105 samhain_done 106 ;; 107 108 status) 109 if pidof -o %PPID $DAEMON > /dev/null; then 110 echo "Samhain running" 111 RETVAL=0 112 else 113 echo "Samhain not running" 114 RETVAL=1 115 fi 116 ;; 117 *) 118 echo "$0 usage: {start|stop|status|restart|reload}" 119 exit 1 120 ;; 121esac 122 123exit $RETVAL 124