summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2014-10-01 14:47:09 +0200
committerJakub Hrozek <jhrozek@redhat.com>2014-10-22 15:44:08 +0200
commitbc13c352ba9c2877f1e9bc62e55ad60fc000a55d (patch)
treeb0599b793f702a84fb9d62658baf555351accbb0
parent5eda23c28c582b43b2a0a165b1750f3875c0fa84 (diff)
downloadsssd-bc13c352ba9c2877f1e9bc62e55ad60fc000a55d.tar.gz
sssd-bc13c352ba9c2877f1e9bc62e55ad60fc000a55d.tar.xz
sssd-bc13c352ba9c2877f1e9bc62e55ad60fc000a55d.zip
BUILD: Add a config option for sssd user, own private directories as the user
Adds a new configure-time option that lets 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. Reviewed-by: Pavel Reichl <preichl@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
-rw-r--r--Makefile.am23
-rw-r--r--configure.ac1
-rw-r--r--src/conf_macros.m419
3 files changed, 37 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index b949c9c24..61bf5cf95 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -78,6 +78,14 @@ sudolibdir = @sudolibpath@
UNICODE_LIBS=@UNICODE_LIBS@
MKDIR_P = @MKDIR_P@
+INSTALL = @INSTALL@
+
+SSSD_USER = @SSSD_USER@
+
+INSTALL_USER_DIR_FLAGS = -d
+if SSSD_USER
+INSTALL_USER_DIR_FLAGS += -o $(SSSD_USER) -g $(SSSD_USER)
+endif
AM_CFLAGS =
if WANT_AUX_INFO
@@ -2740,24 +2748,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 e6745cb45..e5ec204ad 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..fbee81f56 100644
--- a/src/conf_macros.m4
+++ b/src/conf_macros.m4
@@ -737,3 +737,22 @@ 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>],
+ [User for running SSSD (root)]
+ )
+ ]
+ )
+
+ SSSD_USER=root
+
+ if test x"$with_sssd_user" != x; then
+ SSSD_USER=$with_sssd_user
+ fi
+
+ AC_SUBST(SSSD_USER)
+ AC_DEFINE_UNQUOTED(SSSD_USER, "$SSSD_USER", ["The default user to run SSSD as"])
+ AM_CONDITIONAL([SSSD_USER], [test x"$with_sssd_user" != x])
+ ])