summaryrefslogtreecommitdiffstats
path: root/debian/icinga2-common.postinst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/icinga2-common.postinst91
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