summaryrefslogtreecommitdiffhomepage
path: root/pkg/deb/debian/unit.postinst
diff options
context:
space:
mode:
authorAndrei Belov <defan@nginx.com>2020-12-17 14:30:18 +0300
committerAndrei Belov <defan@nginx.com>2020-12-17 14:30:18 +0300
commit53d847615b270daf706373d65ac5f5d2101f36d9 (patch)
tree545781339f41332b48c6a25f812ecf437676bbc1 /pkg/deb/debian/unit.postinst
parenta5fa9673d98c9c814c01ddfce8bcfbec6fcc02e8 (diff)
downloadunit-53d847615b270daf706373d65ac5f5d2101f36d9.tar.gz
unit-53d847615b270daf706373d65ac5f5d2101f36d9.tar.bz2
Packages: run non-privileged processes under "unit" user.
Diffstat (limited to 'pkg/deb/debian/unit.postinst')
-rwxr-xr-xpkg/deb/debian/unit.postinst34
1 files changed, 34 insertions, 0 deletions
diff --git a/pkg/deb/debian/unit.postinst b/pkg/deb/debian/unit.postinst
index 76375a2b..8aa476b3 100755
--- a/pkg/deb/debian/unit.postinst
+++ b/pkg/deb/debian/unit.postinst
@@ -6,6 +6,40 @@ if [ "$1" != "configure" ]; then
exit 0
fi
+if [ -n "$2" ]; then
+ if dpkg --compare-versions "${2%%-*}" le "1.21.0"; then
+ cat <<BANNER
+----------------------------------------------------------------------
+
+WARNING:
+
+Since version 1.22.0, Unit's non-privileged processes run as unit:unit by
+default. Review your system permissions and Unit configuration so apps and
+routes that relied on these processes running as nobody:nogroup stay working.
+
+More info: https://unit.nginx.org/installation/#official-packages
+
+----------------------------------------------------------------------
+BANNER
+ fi
+fi
+
+if ! getent group unit >/dev/null; then
+ addgroup --system unit >/dev/null
+fi
+
+if ! getent passwd unit >/dev/null; then
+ adduser \
+ --system \
+ --disabled-login \
+ --ingroup unit \
+ --no-create-home \
+ --home /nonexistent \
+ --gecos "unit user" \
+ --shell /bin/false \
+ unit >/dev/null
+fi
+
#DEBHELPER#
exit 0