From 3af0e875791779fbf3a300f5eb376b6a731d5729 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 1 Oct 2014 14:47:09 +0200 Subject: BUILD: Add a config option for sssd user, own private directories as the user Adds two new configure-time options that let you select the user to run SSSD as. The default is 'root' for backwards compatibility. The directories the deamon stores its private data at are also created as owned by this user during install time. --- Makefile.am | 24 ++++++++++++++++++------ configure.ac | 1 + src/conf_macros.m4 | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/Makefile.am b/Makefile.am index dd1949ed9..93f67c06b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,6 +86,15 @@ sudolibdir = @sudolibpath@ UNICODE_LIBS=@UNICODE_LIBS@ MKDIR_P = @MKDIR_P@ +INSTALL = @INSTALL@ + +SSSD_USER = @SSSD_USER@ +SSSD_GROUP = @SSSD_GROUP@ + +INSTALL_USER_DIR_FLAGS = -d +if SSSD_USER +INSTALL_USER_DIR_FLAGS += -o $(SSSD_USER) -g $(SSSD_GROUP) +endif AM_CFLAGS = if WANT_AUX_INFO @@ -2727,24 +2736,27 @@ installsssddirs:: $(DESTDIR)$(bindir) \ $(DESTDIR)$(sbindir) \ $(DESTDIR)$(mandir) \ + $(DESTDIR)$(pidpath) \ $(DESTDIR)$(pluginpath) \ $(DESTDIR)$(libdir)/ldb \ $(DESTDIR)$(dbuspolicydir) \ $(DESTDIR)$(dbusservicedir) \ - $(DESTDIR)$(pipepath)/private \ $(DESTDIR)$(sssdlibdir) \ $(DESTDIR)$(pkglibdir) \ - $(DESTDIR)$(sssdconfdir) \ $(DESTDIR)$(sssddatadir) \ + $(DESTDIR)$(sudolibdir) \ + $(DESTDIR)$(autofslibdir) \ + $(NULL); \ + $(INSTALL) $(INSTALL_USER_DIR_FLAGS) \ $(DESTDIR)$(dbpath) \ $(DESTDIR)$(mcpath) \ - $(DESTDIR)$(pidpath) \ - $(DESTDIR)$(logpath) \ + $(DESTDIR)$(pipepath) \ + $(DESTDIR)$(pipepath)/private \ $(DESTDIR)$(pubconfpath) \ $(DESTDIR)$(pubconfpath)/krb5.include.d \ $(DESTDIR)$(gpocachepath) \ - $(DESTDIR)$(sudolibdir) \ - $(DESTDIR)$(autofslibdir) \ + $(DESTDIR)$(sssdconfdir) \ + $(DESTDIR)$(logpath) \ $(NULL) if HAVE_DOXYGEN diff --git a/configure.ac b/configure.ac index 660ea8d37..2b0b3f945 100644 --- a/configure.ac +++ b/configure.ac @@ -137,6 +137,7 @@ WITH_SAMBA WITH_NFS WITH_NFS_LIB_PATH WITH_LIBWBCLIENT +WITH_SSSD_USER m4_include([src/external/pkg.m4]) m4_include([src/external/libpopt.m4]) diff --git a/src/conf_macros.m4 b/src/conf_macros.m4 index 4aa58138c..0ab929acc 100644 --- a/src/conf_macros.m4 +++ b/src/conf_macros.m4 @@ -737,3 +737,37 @@ AC_DEFUN([WITH_NFS_LIB_PATH], fi AC_SUBST(nfslibpath) ]) + +AC_DEFUN([WITH_SSSD_USER], + [ AC_ARG_WITH([sssd-user], + [AS_HELP_STRING([--with-sssd-user=], + [User for running SSSD (root)] + ) + ] + ) + + AC_ARG_WITH([sssd-group], + [AS_HELP_STRING([--with-sssd-group=], + [Group for running SSSD (root)] + ) + ] + ) + + SSSD_USER=root + SSSD_GROUP=root + + if test x"$with_sssd_user" != x; then + SSSD_USER=$with_sssd_user + if test -z "$with_sssd_group"; then + SSSD_GROUP=$with_sssd_user + else + SSSD_GROUP=$with_sssd_group + fi + fi + + AC_SUBST(SSSD_USER) + AC_SUBST(SSSD_GROUP) + AC_DEFINE_UNQUOTED(SSSD_USER, "$SSSD_USER", ["The default user to run SSSD as"]) + AC_DEFINE_UNQUOTED(SSSD_GROUP, "$SSSD_GROUP", ["The default group to run SSSD as"]) + AM_CONDITIONAL([SSSD_USER], [test x"$with_sssd_user" != x]) + ]) -- cgit