Do not create user and group if they already exist
This commit is contained in:
@@ -6,22 +6,24 @@ set -eu
|
||||
_IFS=${IFS}; IFS=,
|
||||
for gid in ${UNPRIVILEGED_USER_GROUPS?}; do
|
||||
if ! getent group "${gid:?}" >/dev/null 2>&1; then
|
||||
groupadd -g "${gid:?}" "g_${gid:?}"
|
||||
groupadd --gid "${gid:?}" "g_${gid:?}"
|
||||
fi
|
||||
done
|
||||
IFS=$_IFS
|
||||
|
||||
# Create unprivileged user and group
|
||||
groupadd \
|
||||
--gid "${UNPRIVILEGED_USER_GID:?}" \
|
||||
"${UNPRIVILEGED_USER_NAME:?}"
|
||||
useradd \
|
||||
--uid "${UNPRIVILEGED_USER_UID:?}" \
|
||||
--gid "${UNPRIVILEGED_USER_GID:?}" \
|
||||
--groups "${UNPRIVILEGED_USER_GROUPS?}" \
|
||||
--shell "${UNPRIVILEGED_USER_SHELL:?}" \
|
||||
--create-home \
|
||||
"${UNPRIVILEGED_USER_NAME:?}"
|
||||
if ! getent group "${UNPRIVILEGED_USER_GID:?}" >/dev/null 2>&1; then
|
||||
groupadd --gid "${UNPRIVILEGED_USER_GID:?}" "${UNPRIVILEGED_USER_NAME:?}"
|
||||
fi
|
||||
if ! getent passwd "${UNPRIVILEGED_USER_UID:?}" >/dev/null 2>&1; then
|
||||
useradd \
|
||||
--uid "${UNPRIVILEGED_USER_UID:?}" \
|
||||
--gid "${UNPRIVILEGED_USER_GID:?}" \
|
||||
--groups "${UNPRIVILEGED_USER_GROUPS?}" \
|
||||
--shell "${UNPRIVILEGED_USER_SHELL:?}" \
|
||||
--create-home \
|
||||
"${UNPRIVILEGED_USER_NAME:?}"
|
||||
fi
|
||||
|
||||
# Copy /etc/skel/ to unprivileged user home if empty
|
||||
UNPRIVILEGED_USER_HOME=$(getent passwd "${UNPRIVILEGED_USER_NAME:?}" | cut -d: -f6)
|
||||
|
||||
Reference in New Issue
Block a user