#!/bin/bash # # setroubleshoot This starts and stops setroubleshoot daemon # # chkconfig: 345 13 87 # description: This starts the SELinux Troubleshooting Daemon # # processname: /usr/sbin/setroubleshootd # config: /etc/setroubleshoot/setroubleshoot.cfg # pidfile: /var/run/setroubleshoot.pid # # Return values according to LSB for all commands but status: # 0 - success # 1 - generic or unspecified error # 2 - invalid or excess argument(s) # 3 - unimplemented feature (e.g. "reload") # 4 - insufficient privilege # 5 - program is not installed # 6 - program is not configured # 7 - program is not running PATH=/sbin:/bin:/usr/bin:/usr/sbin # Source function library. . /etc/init.d/functions # Silently exit is SELinux is not enabled [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || exit 0 # Check that we are root ... so non-root users stop here test `id -u` = 0 || exit 4 # Check config test -x /usr/sbin/setroubleshoot || exit 5 RETVAL=0 prog="setroubleshoot" exe="setroubleshootd" start(){ echo -n $"Starting $prog: " unset HOME MAIL USER USERNAME daemon $exe "$EXTRAOPTIONS" RETVAL=$? echo if test $RETVAL = 0 ; then touch /var/lock/subsys/setroubleshoot fi return $RETVAL } stop(){ echo -n $"Stopping $prog: " killproc $exe RETVAL=$? echo rm -f /var/lock/subsys/setroubleshoot return $RETVAL } reload(){ echo -n $"Reloading configuration: " killproc $exe -HUP RETVAL=$? echo return $RETVAL } restart(){ stop start } condrestart(){ [ -e /var/lock/subsys/setroubleshoot ] && restart return 0 } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status $exe ;; restart) restart ;; reload) reload ;; condrestart) condrestart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|rotate}" RETVAL=3 esac exit $RETVAL