diff options
Diffstat (limited to 'debian/netdata-core.postinst')
-rwxr-xr-x | debian/netdata-core.postinst | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/netdata-core.postinst b/debian/netdata-core.postinst new file mode 100755 index 0000000..8ddec2b --- /dev/null +++ b/debian/netdata-core.postinst @@ -0,0 +1,56 @@ +#!/bin/sh + +set -e + +case "${1}" in + configure) + # creating group + if ! getent group netdata > /dev/null 2>&1 + then + groupadd --system netdata + fi + + # creating user + if ! getent passwd netdata > /dev/null 2>&1 + then + useradd --system -g netdata --home-dir /var/lib/netdata --no-create-home netdata + mkdir -p /var/lib/netdata + fi + + # in some plugins netdata must be able to read logfiles + usermod -G adm netdata + + # creating directory overrides + for DIRECTORY in /var/cache/netdata /var/lib/netdata + do + mkdir -p "${DIRECTORY}" + + if ! dpkg-statoverride --list "${DIRECTORY}" > /dev/null 2>&1 + then + dpkg-statoverride --update --add netdata netdata 0755 "${DIRECTORY}" + fi + done + + # handling plugin capabilities (or setuid as fallback) + chown -R root:netdata /usr/lib/netdata/plugins.d + setcap cap_dac_read_search,cap_sys_ptrace+ep /usr/lib/netdata/plugins.d/apps.plugin || \ + chmod 4754 /usr/lib/netdata/plugins.d/apps.plugin + + # handling log owner and permissions + chown netdata:adm /var/log/netdata + chmod 2750 /var/log/netdata + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`${1}'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 |