summaryrefslogtreecommitdiffstats
path: root/debian/sssd-common.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sssd-common.postinst')
-rw-r--r--debian/sssd-common.postinst83
1 files changed, 83 insertions, 0 deletions
diff --git a/debian/sssd-common.postinst b/debian/sssd-common.postinst
new file mode 100644
index 0000000..5687bbf
--- /dev/null
+++ b/debian/sssd-common.postinst
@@ -0,0 +1,83 @@
+#!/bin/sh
+# postinst script for sssd
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+OUT=/dev/null
+HOME=/var/lib/sss
+LIBDIR=/usr/libexec/sssd
+
+case "$1" in
+ configure)
+ if ! getent passwd sssd > $OUT; then
+ echo "Creating SSSD system user & group..."
+ adduser --quiet --system --home $HOME \
+ --disabled-password --group \
+ --gecos "SSSD system user" \
+ sssd > $OUT
+ fi
+ chown -R root:root \
+ $HOME/db \
+ $HOME/gpo_cache \
+ $HOME/mc \
+ $HOME/pipes \
+ $HOME/pipes/private \
+ $HOME/pubconf \
+ $HOME/secrets \
+ /etc/sssd \
+ /var/log/sssd
+
+ # for easier review keep the same order as on sssd.spec
+ chmod 700 $HOME/db
+ chmod 775 $HOME/mc
+ chmod 700 $HOME/secrets
+ chmod 751 $HOME/deskprofile
+ chmod 755 $HOME/pipes
+ chmod 750 $HOME/pipes/private
+ chmod 755 $HOME/pubconf
+ chmod 755 $HOME/gpo_cache
+ chmod 750 /var/log/sssd
+ chmod 700 /etc/sssd
+ chmod 711 /etc/sssd
+ if [ -f /etc/sssd/sssd.conf ]; then
+ chown root:root /etc/sssd/sssd.conf
+ chmod 0600 /etc/sssd/sssd.conf
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+invoke_failure() {
+ # invoke-rc.d failed, likely because of a missing sssd.conf
+ if [ ! -s /etc/sssd/sssd.conf ]; then
+ echo "... because /etc/sssd/sssd.conf is not available yet"
+ fi
+}
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0