#!/bin/bash # # mcstransd This starts and stops mcstransd # # chkconfig: - 08 87 # description: This starts the SELinux Context Translation System Daemon # # processname: /sbin/mcstransd # pidfile: /var/run/mcstransd.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 prog="mcstransd" # Source function library. . /etc/init.d/functions # Allow anyone to run status if [ "$1" = "status" ] ; then status $prog RETVAL=$? exit $RETVAL fi # Check that we are root ... so non-root users stop here test $EUID = 0 || exit 4 # If selinux is not enabled, return success test -x /usr/sbin/selinuxenabled && /usr/sbin/selinuxenabled || exit 0 RETVAL=0 start(){ test -x /sbin/mcstransd || exit 5 gprintf "Starting %s: " "$prog" if status $prog > /dev/null; then gprintf "%s: already running" "$prog" failure echo return 1 fi unset HOME MAIL USER USERNAME daemon $prog "$EXTRAOPTIONS" RETVAL=$? echo if test $RETVAL = 0 ; then touch /var/lock/subsys/mcstrans fi return $RETVAL } stop(){ gprintf "Stopping %s: " "$prog" killproc $prog RETVAL=$? echo rm -f /var/lock/subsys/mcstrans return $RETVAL } reload(){ gprintf "Reloading configuration: " killproc $prog -HUP RETVAL=$? echo return $RETVAL } restart(){ stop start } condrestart(){ [ -e /var/lock/subsys/mcstrans ] && restart return 0 } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) condrestart ;; *) gprintf "Usage: %s {start|stop|status|restart|condrestart|reload|rotate}\n" "$0" RETVAL=3 esac exit $RETVAL