mirror of
https://github.com/SELinuxProject/selinux
synced 2024-12-14 18:14:48 +00:00
48681bb49c
Basically this patch makes restorecond a dbus session service that can be run in the users session to watch the creation of files in the homedir. Most of the changes are just to get it to run as a dbus session and then to allow it to read its own config. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Dan Walsh <dwalsh@redhat.com>
90 lines
1.8 KiB
Bash
90 lines
1.8 KiB
Bash
#!/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: /var/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
|