mirror of https://github.com/Icinga/icinga2.git
90 lines
2.4 KiB
Bash
90 lines
2.4 KiB
Bash
#!/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"
|
||
icinga2 feature enable checker notification mainlog
|
||
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 nagios 0750 /etc/icinga2
|
||
|
||
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 $@
|
||
|
||
/usr/share/icinga2/migrate-hosts
|
||
;;
|
||
|
||
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
|