| #!/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 |
| test $EUID = 0 || exit 4 |
| |
| 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 |