mirror of
https://github.com/raspberrypi/userland.git
synced 2025-12-06 12:59:12 +00:00
dtoverlay: Use SUDO_USER in -pre and -post scripts
This patch replaces the hardcoded "pi" user in the dtoverlay-pre and dtoverlay-post scripts with $SUDO_USER, which is set by the sudo command to the ID of the user calling it. In the event that SUDO_USER isn't set, $LOGNAME is used (set by login shells), with an ultime fallback to "pi". This change is necessary for users who have changed the login ID, perhaps as a security measure.
This commit is contained in:
@@ -4,7 +4,14 @@ if [ "$DISPLAY" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
CMD="which lxpanelctl >/dev/null 2>&1 && lxpanelctl alsastart >/dev/null"
|
CMD="which lxpanelctl >/dev/null 2>&1 && lxpanelctl alsastart >/dev/null"
|
||||||
if [ $EUID -eq 0 ]; then
|
if [ $EUID -eq 0 ]; then
|
||||||
exec su pi -c "$CMD"
|
if [ "$SUDO_USER" != "" ]; then
|
||||||
|
user=$SUDO_USER
|
||||||
|
elif [ "$LOGNAME" != "" ]; then
|
||||||
|
user=$LOGNAME
|
||||||
|
else
|
||||||
|
user=pi
|
||||||
|
fi
|
||||||
|
exec su $user -c "$CMD"
|
||||||
else
|
else
|
||||||
exec $CMD
|
exec $CMD
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -4,7 +4,14 @@ if [ "$DISPLAY" == "" ]; then
|
|||||||
fi
|
fi
|
||||||
CMD="which lxpanelctl >/dev/null 2>&1 && lxpanelctl alsastop >/dev/null"
|
CMD="which lxpanelctl >/dev/null 2>&1 && lxpanelctl alsastop >/dev/null"
|
||||||
if [ $EUID -eq 0 ]; then
|
if [ $EUID -eq 0 ]; then
|
||||||
exec su pi -c "$CMD"
|
if [ "$SUDO_USER" != "" ]; then
|
||||||
|
user=$SUDO_USER
|
||||||
|
elif [ "$LOGNAME" != "" ]; then
|
||||||
|
user=$LOGNAME
|
||||||
|
else
|
||||||
|
user=pi
|
||||||
|
fi
|
||||||
|
exec su $user -c "$CMD"
|
||||||
else
|
else
|
||||||
exec $CMD
|
exec $CMD
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user