blob: 2f23bffd9e0af7e24f22ef16caf35e5f5f114caa [file] [log] [blame]
#!/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}"
start-stop-daemon --start --quiet --exec $DAEMON
RETVAL=$?
samhain_done
exit $RETVAL
;;
stop)
echo -n "Stopping $NAME"
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"
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