#!/bin/sh # # restorecond: Daemon used to maintain path file context # # chkconfig: - 12 87 # description: restorecond uses inotify to look for creation of new files \ # listed in the /etc/selinux/restorecond.conf file, and restores the \ # correct security context. # # processname: /usr/sbin/restorecond # config: /etc/selinux/restorecond.conf # pidfile: /run/restorecond.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/rc.d/init.d/functions [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled || exit 7 # Check that we are root ... so non-root users stop here if [ $EUID ]; then test $EUID = 0 || exit 4 else test `id -u` = 0 || exit 4 fi test -x /usr/sbin/restorecond || exit 5 test -f /etc/selinux/restorecond.conf || exit 6 RETVAL=0 start() { echo -n $"Starting restorecond: " unset HOME MAIL USER USERNAME daemon /usr/sbin/restorecond RETVAL=$? touch /var/lock/subsys/restorecond echo return $RETVAL } stop() { echo -n $"Shutting down restorecond: " killproc restorecond RETVAL=$? rm -f /var/lock/subsys/restorecond echo return $RETVAL } restart() { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status restorecond RETVAL=$? ;; force-reload|restart|reload) restart ;; condrestart) [ -e /var/lock/subsys/restorecond ] && restart || : ;; *) echo $"Usage: $0 {start|stop|restart|force-reload|status|condrestart}" RETVAL=3 esac exit $RETVAL