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
|
#!/bin/sh
set -e
TRYTON_USER="tryton"
TRYTON_OLDCONFFILE="/etc/trytond.conf"
TRYTON_CONFDIR="/etc/tryton"
TRYTON_CONFFILE="${TRYTON_CONFDIR}/trytond.conf"
TRYTON_LOGCONFFILE="${TRYTON_CONFDIR}/trytond_log.conf"
TRYTON_CONFFILEPRE34="${TRYTON_CONFDIR}/trytond.conf.pre34"
TRYTON_LOGDIR="/var/log/tryton"
TRYTON_HOMEDIR="/var/lib/tryton"
case "${1}" in
configure)
# Creating system user
adduser --home ${TRYTON_HOMEDIR} --no-create-home --quiet --system --group ${TRYTON_USER}
# Creating home directory (also used for storage of attachments)
mkdir -p ${TRYTON_HOMEDIR}
chown ${TRYTON_USER}:${TRYTON_USER} ${TRYTON_HOMEDIR}
# Creating log directory
mkdir -p ${TRYTON_LOGDIR}
chown ${TRYTON_USER}:adm ${TRYTON_LOGDIR}
# Setting ownership and permissions on configuration file
# trytond uses internal defaults, if it cannot read the
# configuration file.
for _ITEM in "${TRYTON_CONFFILE}" "${TRYTON_LOGCONFFILE}"
do
if ! dpkg-statoverride --list "${_ITEM}" > /dev/null 2>&1
then
chown "${TRYTON_USER}":"${TRYTON_USER}" "${_ITEM}"
chmod 0440 "${_ITEM}"
fi
done
# Migration from 3.2 to 3.4: backup old configuration to new configuration location
if [ -e "$TRYTON_OLDCONFFILE" ]; then
mv -f "${TRYTON_OLDCONFFILE}" "${TRYTON_CONFFILEPRE34}"
fi
# Restricting access to home and log directories for security reasons (private information)
for _DIRECTORY in "${TRYTON_HOMEDIR}" "${TRYTON_LOGDIR}"
do
if ! dpkg-statoverride --list "${_DIRECTORY}" > /dev/null 2>&1
then
chmod 0750 "${_DIRECTORY}"
fi
done
# Add the tryton user to the ssl-cert group on fresh installs
if [ -z "$2" ]; then
if getent group ssl-cert > /dev/null 2>&1
then
adduser --quiet ${TRYTON_USER} ssl-cert
fi
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`{$1}'" >&2
exit 1
;;
esac
#DEBHELPER#
exit 0
|