Do not create user and group if they already exist

This commit is contained in:
Héctor Molinero Fernández
2019-12-14 18:56:14 +01:00
parent ff007b12c6
commit de7426030a

View File

@@ -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)