icinga2/debian/icinga2-common.postinst

88 lines
2.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# postinst script for icinga2-common
set -e
setperm() {
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 "$user":"$group" "$file"
chmod "$mode" "$file"
fi
}
is_fresh_install()
{
if [ -z "$2" ] ; then
return 0
fi
return 1
}
enable_default_features() {
FIX_VERSION="0.0.5+icingasnap201312070000"
if is_fresh_install $@ \
|| dpkg --compare-versions "$2" lt "$FIX_VERSION"; then
echo "enabling default icinga2 features"
for feature in checker notification mainlog; do
icinga2-enable-feature $feature
done
fi
# handle new default features here in the future
}
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.
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 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 0750 /var/spool/icinga2/perfdata
setperm nagios nagios 0750 /var/spool/icinga2/tmp
# enable default features
enable_default_features $@
;;
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