Do not create user and group if they already exist
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user