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=, _IFS=${IFS}; IFS=,
for gid in ${UNPRIVILEGED_USER_GROUPS?}; do for gid in ${UNPRIVILEGED_USER_GROUPS?}; do
if ! getent group "${gid:?}" >/dev/null 2>&1; then if ! getent group "${gid:?}" >/dev/null 2>&1; then
groupadd -g "${gid:?}" "g_${gid:?}" groupadd --gid "${gid:?}" "g_${gid:?}"
fi fi
done done
IFS=$_IFS IFS=$_IFS
# Create unprivileged user and group # Create unprivileged user and group
groupadd \ if ! getent group "${UNPRIVILEGED_USER_GID:?}" >/dev/null 2>&1; then
--gid "${UNPRIVILEGED_USER_GID:?}" \ groupadd --gid "${UNPRIVILEGED_USER_GID:?}" "${UNPRIVILEGED_USER_NAME:?}"
"${UNPRIVILEGED_USER_NAME:?}" fi
useradd \ if ! getent passwd "${UNPRIVILEGED_USER_UID:?}" >/dev/null 2>&1; then
--uid "${UNPRIVILEGED_USER_UID:?}" \ useradd \
--gid "${UNPRIVILEGED_USER_GID:?}" \ --uid "${UNPRIVILEGED_USER_UID:?}" \
--groups "${UNPRIVILEGED_USER_GROUPS?}" \ --gid "${UNPRIVILEGED_USER_GID:?}" \
--shell "${UNPRIVILEGED_USER_SHELL:?}" \ --groups "${UNPRIVILEGED_USER_GROUPS?}" \
--create-home \ --shell "${UNPRIVILEGED_USER_SHELL:?}" \
"${UNPRIVILEGED_USER_NAME:?}" --create-home \
"${UNPRIVILEGED_USER_NAME:?}"
fi
# Copy /etc/skel/ to unprivileged user home if empty # Copy /etc/skel/ to unprivileged user home if empty
UNPRIVILEGED_USER_HOME=$(getent passwd "${UNPRIVILEGED_USER_NAME:?}" | cut -d: -f6) UNPRIVILEGED_USER_HOME=$(getent passwd "${UNPRIVILEGED_USER_NAME:?}" | cut -d: -f6)