Code

postinst: Create the nagios user with the same settings as in nagios3-common.
[pkg-pnp4nagios.git] / debian / postinst
1 #!/bin/sh
2 # postinst script for pnp4nagios
3 #
4 # see: dh_installdeb(1)
6 set -e
8 # summary of how this script can be called:
9 #        * <postinst> `configure' <most-recently-configured-version>
10 #        * <old-postinst> `abort-upgrade' <new version>
11 #        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12 #          <new-version>
13 #        * <postinst> `abort-remove'
14 #        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15 #          <failed-install-package> <version> `removing'
16 #          <conflicting-package> <version>
17 # for details, see http://www.debian.org/doc/debian-policy/ or
18 # the debian-policy package
20 setperm() {
21         user="$1"
22         group="$2"
23         mode="$3"
24         file="$4"
25         shift 4
26         # only do something when no setting exists
27         if ! dpkg-statoverride --list "$file" >/dev/null 2>&1; then
28                 chown "$user":"$group" "$file"
29                 chmod "$mode" "$file"
30         fi
31 }
33 case "$1" in
34         configure)
35                 if ! getent passwd nagios > /dev/null ; then
36                         echo 'Adding system-user for nagios' 1>&2
37                         adduser --system --group --home /var/lib/nagios \
38                                 --disabled-login --force-badname nagios > /dev/null
39                 fi
40                 setperm nagios www-data 750 /var/lib/pnp4nagios
41                 setperm nagios nagios   755 /var/lib/pnp4nagios/perfdata
42                 setperm nagios www-data 750 /var/log/pnp4nagios
43                 setperm nagios nagios   750 /var/log/pnp4nagios/stats
44                 setperm nagios nagios   770 /var/spool/pnp4nagios
45                 setperm nagios nagios   770 /var/spool/pnp4nagios/nagios
46                 setperm nagios nagios   770 /var/spool/pnp4nagios/npcd
48                 if [ -d /etc/nagios3/conf.d/ ]; then
49                         if [ ! -e /etc/nagios3/conf.d/pnp4nagios.cfg ]; then
50                                 ln -s /etc/pnp4nagios/nagios.cfg /etc/nagios3/conf.d/pnp4nagios.cfg
51                         fi
52                 fi
54                 a2reload="false"
56                 if [ -d /etc/apache2/conf.d/ ]; then
57                         if [ ! -e /etc/apache2/conf.d/pnp4nagios.conf ]; then
58                                 ln -s /etc/pnp4nagios/apache.conf /etc/apache2/conf.d/pnp4nagios.conf
59                                 a2reload="true"
60                         fi
61                 fi
63                 if [ -d /etc/apache2/mods-enabled ]; then
64                         if [ ! -e /etc/apache2/mods-enabled/rewrite.load ]; then
65                                 a2enmod rewrite
66                                 a2reload="true"
67                         fi
68                 fi
70                 if [ "$a2reload" = "true" ]; then
71                         invoke-rc.d apache2 reload
72                 fi
73         ;;
75         abort-upgrade|abort-remove|abort-deconfigure)
76         ;;
78         *)
79                 echo "postinst called with unknown argument \`$1'" >&2
80                 exit 1
81         ;;
82 esac
84 # dh_installdeb will replace this with shell code automatically
85 # generated by other debhelper scripts.
87 #DEBHELPER#
89 exit 0