| #!/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 |