summaryrefslogtreecommitdiffstats
path: root/debian/netdata-core.postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/netdata-core.postinst')
-rwxr-xr-xdebian/netdata-core.postinst56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/netdata-core.postinst b/debian/netdata-core.postinst
new file mode 100755
index 00000000..7f6b8402
--- /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
+
+ # some netdata plugins 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