1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#! /bin/sh
# postinst script for postman
#
# 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>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see /usr/share/doc/packaging-manual/
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
POSTMANDIR="/var/lib/postman"
POSTMANUSER="postman"
WEBGROUP="www-data"
########
# MAIN #
########
case "$1" in
configure)
echo "Creating/Updating postman user"
if ! id -u ${POSTMANUSER} >/dev/null 2>&1; then
adduser --quiet --system --ingroup ${WEBGROUP} --home ${POSTMANDIR} \
--disabled-password --shell /bin/sh \
--gecos "Postman interdaemon's system user" \
${POSTMANUSER}
fi
# Set directory owner, group and modes
PERM="750"; DIR="${POSTMANDIR}";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="750"; DIR="${POSTMANDIR}/server";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="750"; DIR="${POSTMANDIR}/netnews";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="750"; DIR="${POSTMANDIR}/sessions";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="700"; DIR="${POSTMANDIR}/locks";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="710"; DIR="${POSTMANDIR}/users";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="770"; DIR="${POSTMANDIR}/tmp";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="750"; DIR="${POSTMANDIR}/calendar";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
PERM="750"; DIR="${POSTMANDIR}/databases";
dpkg-statoverride --list ${DIR} >/dev/null 2>&1 || dpkg-statoverride \
--update --add ${POSTMANUSER} ${WEBGROUP} ${PERM} ${DIR}
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 0
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
|