File: nagios4-cgi.postinst

package info (click to toggle)
nagios4 4.3.4-3
  • links: PTS
  • area: main
  • in suites: buster
  • size: 21,592 kB
  • sloc: ansic: 94,759; sh: 12,454; perl: 2,624; makefile: 1,184; php: 365; ruby: 95
file content (79 lines) | stat: -rw-r--r-- 1,811 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#!/bin/bash

set -e

# debconf-devel(7) asks we do this
.  /usr/share/debconf/confmodule

# some shorthands for sanity
en="/etc/nagios4"
enc="/etc/nagios4/conf.d"
usn="/usr/share/nagios4"

# location of the default apache configuration for nagios.
apacheconf="${en}/apache2.conf"
# location of the default htdigest authentication file.
htdigest="${en}/htdigest.users"

setperm() {
    local user="${1}"
    local group="${2}"
    local mode="${3}"
    local file="${4}"
    shift 4
    # only do something when no setting exists
    if ! dpkg-statoverride --list "${file}" >/dev/null 2>&1
    then
	if [ -e "${file}" ]
	then
	    chown "${user}":"${group}" "${file}"
	    chmod "${mode}" "${file}"
	fi
    fi
}

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

	# register apache2.conf via ucf:
	ucf --debconf-ok /usr/share/nagios4-cgi/apache2.conf "${apacheconf}"

	# apache2.conf uses this file
	if [ ! -e "${htdigest}" ]
	then
	  touch "${htdigest}"
	  setperm nagios www-data 0640 "${htdigest}"
	fi

	echo "enabling Apache2 config..."

	COMMON_STATE=$(dpkg-query -f '${Status}' -W 'apache2.2-common' 2>/dev/null | awk '{print $3}' || true)

	[ ! -s /usr/share/apache2/apache2-maintscript-helper ] || (
	  . /usr/share/apache2/apache2-maintscript-helper
	  apache2_invoke enmod cgi
	  apache2_invoke enconf nagios4-cgi
	)

	if [ -e /var/lib/nagios4/rw ]
	then
	  setperm nagios www-data 0750 /var/lib/nagios4
	  setperm nagios www-data 2710 /var/lib/nagios4/rw
	fi
	;;
    abort-upgrade|abort-remove|abort-deconfigure)
	;;
    *)
	echo "postinst called with unknown argument '${1}'" >&2
	exit 1
	;;
esac

#DEBHELPER#