Skip to content

Commit 17e250c

Browse files
jbudzarenardkibanamachine
committed
[deb/rpm] Cleanup user management (#83848)
Co-authored-by: Arnaud RENARD <arenard@gmail.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
1 parent 174a349 commit 17e250c

2 files changed

Lines changed: 45 additions & 24 deletions

File tree

src/dev/build/tasks/os_packages/package_scripts/post_install.sh

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,23 @@ setup() {
3131
case $1 in
3232
# Debian
3333
configure)
34-
if ! getent group "<%= group %>" >/dev/null; then
34+
if ! getent group "<%= group %>" >/dev/null 2>&1 ; then
35+
echo -n "Creating <%= group %> group..."
3536
addgroup --quiet --system "<%= group %>"
37+
echo " OK"
3638
fi
3739

38-
if ! getent passwd "<%= user %>" >/dev/null; then
39-
adduser --quiet --system --no-create-home --disabled-password \
40-
--ingroup "<%= group %>" --shell /bin/false "<%= user %>"
40+
if ! id "<%= user %>" >/dev/null 2>&1 ; then
41+
echo -n "Creating <%= user %> user..."
42+
adduser --quiet \
43+
--system \
44+
--no-create-home \
45+
--home /nonexistent \
46+
--ingroup "<%= group %>" \
47+
--disabled-password \
48+
--shell /bin/false \
49+
"<%= user %>"
50+
echo " OK"
4151
fi
4252

4353
if [ -n "$2" ]; then
@@ -53,13 +63,22 @@ case $1 in
5363

5464
# Red Hat
5565
1|2)
56-
if ! getent group "<%= group %>" >/dev/null; then
66+
if ! getent group "<%= group %>" >/dev/null 2>&1 ; then
67+
echo -n "Creating <%= group %> group..."
5768
groupadd -r "<%= group %>"
69+
echo " OK"
5870
fi
5971

60-
if ! getent passwd "<%= user %>" >/dev/null; then
61-
useradd -r -g "<%= group %>" -M -s /sbin/nologin \
62-
-c "kibana service user" "<%= user %>"
72+
if ! id "<%= user %>" >/dev/null 2>&1 ; then
73+
echo -n "Creating <%= user %> user..."
74+
useradd --system \
75+
--no-create-home \
76+
--home-dir /nonexistent \
77+
--gid "<%= group %>" \
78+
--shell /sbin/nologin \
79+
--comment "kibana service user" \
80+
"<%= user %>" \
81+
echo " OK"
6382
fi
6483

6584
if [ "$1" = "2" ]; then
@@ -71,8 +90,8 @@ case $1 in
7190
;;
7291

7392
*)
74-
echo "post install script called with unknown argument \`$1'" >&2
75-
exit 1
93+
echo "post install script called with unknown argument \`$1'" >&2
94+
exit 1
7695
;;
7796
esac
7897

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#!/bin/sh
22
set -e
33

4-
REMOVE_USER_AND_GROUP=false
54
REMOVE_DIRS=false
5+
REMOVE_USER_AND_GROUP=false
66

77
case $1 in
88
# Includes cases for all valid arguments, exit 1 otherwise
99
# Debian
1010
purge)
11-
REMOVE_USER_AND_GROUP=true
1211
REMOVE_DIRS=true
12+
REMOVE_USER_AND_GROUP=true
1313
;;
1414
remove)
1515
REMOVE_DIRS=true
@@ -28,28 +28,20 @@ case $1 in
2828
;;
2929

3030
*)
31-
echo "post remove script called with unknown argument \`$1'" >&2
32-
exit 1
31+
echo "post remove script called with unknown argument \`$1'" >&2
32+
exit 1
3333
;;
3434
esac
3535

36-
if [ "$REMOVE_USER_AND_GROUP" = "true" ]; then
37-
if getent passwd "<%= user %>" >/dev/null; then
38-
userdel "<%= user %>"
39-
fi
40-
41-
if getent group "<%= group %>" >/dev/null; then
42-
groupdel "<%= group %>"
43-
fi
44-
fi
45-
4636
if [ "$REMOVE_DIRS" = "true" ]; then
4737
if [ -d "<%= optimizeDir %>" ]; then
4838
rm -rf "<%= optimizeDir %>"
4939
fi
5040

5141
if [ -d "<%= pluginsDir %>" ]; then
42+
echo -n "Deleting plugins directory..."
5243
rm -rf "<%= pluginsDir %>"
44+
echo " OK"
5345
fi
5446

5547
if [ -d "<%= configDir %>" ]; then
@@ -60,3 +52,13 @@ if [ "$REMOVE_DIRS" = "true" ]; then
6052
rmdir --ignore-fail-on-non-empty "<%= dataDir %>"
6153
fi
6254
fi
55+
56+
if [ "$REMOVE_USER_AND_GROUP" = "true" ]; then
57+
if id <%= user %> > /dev/null 2>&1 ; then
58+
userdel <%= user %>
59+
fi
60+
61+
if getent group <%= group %> > /dev/null 2>&1 ; then
62+
groupdel <%= group %>
63+
fi
64+
fi

0 commit comments

Comments
 (0)