diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/Makefile.in | 3 | ||||
-rw-r--r-- | server/conf_macros.m4 | 16 | ||||
-rw-r--r-- | server/configure.ac | 1 | ||||
-rw-r--r-- | server/sysv/sssd | 106 |
4 files changed, 126 insertions, 0 deletions
diff --git a/server/Makefile.in b/server/Makefile.in index 97b71128..329d0622 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -11,6 +11,7 @@ bindir = @bindir@ sbindir = @sbindir@ mandir = @mandir@ localstatedir = @localstatedir@ +initrddir = @initrddir@ VPATH = @srcdir@:@libreplacedir@ srcdir = @srcdir@ builddir = @builddir@ @@ -163,6 +164,7 @@ install:: all installdirs installheaders installlibs installbin installsupport ${INSTALLCMD} -d $(DESTDIR)$(sbindir) ${INSTALLCMD} -m 755 sbin/sssd $(DESTDIR)$(sbindir) ${INSTALLCMD} -m 755 $(TOOLSBINS) $(DESTDIR)$(sbindir) + ${INSTALLCMD} -m 755 sysv/sssd $(DESTDIR)$(initrddir) ${INSTALLCMD} -d $(DESTDIR)$(SSSD_LIBEXEC_PATH) ${INSTALLCMD} -m 755 $(LIBEXECBINS) $(DESTDIR)$(SSSD_LIBEXEC_PATH) @@ -170,6 +172,7 @@ installdirs:: mkdir -p $(DESTDIR)$(includedir) \ $(DESTDIR)$(libdir) \ $(DESTDIR)$(sbindir) \ + $(DESTDIR)$(initrddir) \ $(DESTDIR)$(SSSD_LIBDIR) \ $(DESTDIR)$(LDB_LIBDIR) \ $(DESTDIR)$(DBUS_SYSBUS_POLICY_DIR) \ diff --git a/server/conf_macros.m4 b/server/conf_macros.m4 index a65b5130..e5ecaa70 100644 --- a/server/conf_macros.m4 +++ b/server/conf_macros.m4 @@ -107,3 +107,19 @@ AC_DEFUN(WITH_TESTS, fi ]) +AC_DEFUN(WITH_INITRD_DIR, + [ AC_ARG_WITH([initrd-dir], + [AC_HELP_STRING([--with-initrd-dir=DIR], + [Where to store init script for sssd [/etc/rc.d/init.d]] + ) + ] + ) + initrddir="/etc/rc.d/init.d" + if test x"$with_initrd_dir" != x; then + initrddir=$with_initrd_dir + fi + AC_SUBST(initrddir) + AC_DEFINE_UNQUOTED(INITRD_DIR, "$initrddir", [Where to store init script for sssd]) + ]) + + diff --git a/server/configure.ac b/server/configure.ac index 0c1036a9..f12a75c5 100644 --- a/server/configure.ac +++ b/server/configure.ac @@ -44,6 +44,7 @@ WITH_PIPE_PATH WITH_INFOPIPE WITH_POLICYKIT WITH_TESTS +WITH_INITRD_DIR m4_include(pkg.m4) m4_include(libpopt.m4) diff --git a/server/sysv/sssd b/server/sysv/sssd new file mode 100644 index 00000000..e4f6c47b --- /dev/null +++ b/server/sysv/sssd @@ -0,0 +1,106 @@ +#!/bin/sh +# +# +# chkconfig: 2345 40 60 +# description: Provides a set of daemons to manage access to remote directories +# and authentication mechanisms. It provides an NSS and PAM +# interface toward the system and a pluggable backend system to +# connect to multiple different account sources. It is also the +# basis to provide client auditing and policy services for projects +# like FreeIPA. +# + +RETVAL=0 +prog="sssd" + +# Source function library. +. /etc/init.d/functions + +SSSD=/usr/sbin/sssd + +LOCK_FILE=/var/lock/subsys/sssd +PID_FILE=/var/run/sssd.pid + +start() { + [ -x $SSSD ] || exit 5 + echo -n $"Starting $prog: " + daemon $SSSD -D && success || failure + RETVAL=$? + [ "$RETVAL" = 0 ] && touch $LOCK_FILE + echo +} + +stop() { + echo -n $"Stopping $prog: " + killproc -p $PID_FILE $SSSD -TERM + RETVAL=$? + [ "$RETVAL" = 0 ] && rm -f $LOCK_FILE + echo +} + +reload() { + echo -n $"Reloading $prog: " + killproc $SSSD -HUP + echo +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +rh_status() { + # run checks to determine if the service is running or use generic status + status $prog +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + +case "$1" in + start) + rh_status_q && exit 0 + $1 + ;; + + stop) + rh_status_q || exit 0 + $1 + ;; + + restart) + $1 + ;; + + reload) + rh_status_q || exit 7 + $1 + ;; + + force-reload) + force_reload + ;; + + status) + rh_status + ;; + + condrestart|try-restart) + rh_status_q || exit 0 + restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" + exit 2 +esac +exit $? + |