mirror of
https://github.com/dehydrated-io/dehydrated.git
synced 2026-04-11 03:06:49 +02:00
committed by
Lukas Schauer
parent
6d9fcd2588
commit
39e1068a87
@@ -395,16 +395,19 @@ load_config() {
|
||||
# Check for missing dependencies
|
||||
check_dependencies
|
||||
|
||||
has_sudo() {
|
||||
command -v sudo > /dev/null 2>&1 || _exiterr "DEHYDRATED_USER set but sudo not available. Please install sudo."
|
||||
}
|
||||
|
||||
# Check if we are running & are allowed to run as root
|
||||
if [[ -n "$DEHYDRATED_USER" ]]; then
|
||||
command -v sudo > /dev/null 2>&1 || _exiterr "DEHYDRATED_USER set but sudo not available. Please install sudo."
|
||||
command -v getent > /dev/null 2>&1 || _exiterr "DEHYDRATED_USER set but getent not available. Please install getent."
|
||||
|
||||
TARGET_UID="$(getent passwd "${DEHYDRATED_USER}" | cut -d':' -f3)" || _exiterr "DEHYDRATED_USER ${DEHYDRATED_USER} is invalid"
|
||||
if [[ -z "${DEHYDRATED_GROUP}" ]]; then
|
||||
if [[ "${EUID}" != "${TARGET_UID}" ]]; then
|
||||
echo "# INFO: Running $0 as ${DEHYDRATED_USER}"
|
||||
exec sudo -u "${DEHYDRATED_USER}" "${0}" ${ORIGARGS}
|
||||
has_sudo && exec sudo -u "${DEHYDRATED_USER}" "${0}" ${ORIGARGS}
|
||||
fi
|
||||
else
|
||||
TARGET_GID="$(getent group "${DEHYDRATED_GROUP}" | cut -d':' -f3)" || _exiterr "DEHYDRATED_GROUP ${DEHYDRATED_GROUP} is invalid"
|
||||
@@ -414,7 +417,7 @@ load_config() {
|
||||
fi
|
||||
if [[ "${EUID}" != "${TARGET_UID}" ]] || [[ "${EGID}" != "${TARGET_GID}" ]]; then
|
||||
echo "# INFO: Running $0 as ${DEHYDRATED_USER}/${DEHYDRATED_GROUP}"
|
||||
exec sudo -u "${DEHYDRATED_USER}" -g "${DEHYDRATED_GROUP}" "${0}" ${ORIGARGS}
|
||||
has_sudo && exec sudo -u "${DEHYDRATED_USER}" -g "${DEHYDRATED_GROUP}" "${0}" ${ORIGARGS}
|
||||
fi
|
||||
fi
|
||||
elif [[ -n "${DEHYDRATED_GROUP}" ]]; then
|
||||
|
||||
Reference in New Issue
Block a user