diff options
Diffstat (limited to 'debian/icinga2-common.postinst')
-rw-r--r-- | debian/icinga2-common.postinst | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/debian/icinga2-common.postinst b/debian/icinga2-common.postinst new file mode 100644 index 0000000..9f7aa20 --- /dev/null +++ b/debian/icinga2-common.postinst @@ -0,0 +1,91 @@ +#!/bin/sh +# postinst script for icinga2-common + +set -e + +setperm() { + ownopt= + if [ "$1" = -R ]; then + ownopt="-R" + shift + fi + user="$1" + group="$2" + mode="$3" + file="$4" + shift 4 + # only do something when no setting exists + if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then + chown $ownopt "$user":"$group" "$file" + chmod "$mode" "$file" + fi +} + +is_fresh_install() +{ + if [ -z "$2" ] ; then + return 0 + fi + return 1 +} + +case "$1" in + configure) + if ! getent passwd nagios > /dev/null ; then + echo 'Adding system-user for nagios' 1>&2 + adduser --system --group --home /var/lib/nagios \ + --disabled-login --force-badname nagios > /dev/null + fi + + # explicitly set permissions on some files that are dependent + # on the uid/gid of the nagios user, which is dynamically created. + if ! dpkg-statoverride --list /etc/icinga2; then + setperm nagios nagios 0750 /etc/icinga2 + setperm nagios nagios 0640 /etc/icinga2/icinga2.conf + setperm nagios nagios 0640 /etc/icinga2/constants.conf + setperm nagios nagios 0640 /etc/icinga2/zones.conf + setperm -R nagios nagios 0700 /etc/icinga2/pki + setperm -R nagios nagios 0750 /etc/icinga2/conf.d + setperm -R nagios nagios 0750 /etc/icinga2/features-enabled + setperm -R nagios nagios 0750 /etc/icinga2/features-available + setperm nagios nagios 0750 /etc/icinga2/zones.d + fi + + setperm nagios adm 2751 /var/log/icinga2 + setperm nagios adm 2751 /var/log/icinga2/compat + setperm nagios adm 2755 /var/log/icinga2/compat/archives + setperm nagios adm 2751 /var/log/icinga2/crash + + setperm nagios nagios 0750 /var/lib/icinga2 + setperm nagios nagios 0750 /var/lib/icinga2/api + setperm nagios nagios 0750 /var/lib/icinga2/api/log + setperm nagios nagios 0750 /var/lib/icinga2/api/repository + setperm nagios nagios 0750 /var/lib/icinga2/api/zones + + setperm nagios www-data 0750 /var/cache/icinga2 + + setperm nagios nagios 0750 /var/spool/icinga2 + setperm nagios nagios 0770 /var/spool/icinga2/perfdata + setperm nagios nagios 0750 /var/spool/icinga2/tmp + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +init_failed () +{ + echo "Icinga 2 was unable to start due to configuration errors."; + echo "Please fix them and manually restart the icinga2 daemon using"; + echo " ´service icinga2 start´"; +} + +#DEBHELPER# + +exit 0 |