Dominique Leuenberger 2024-08-07 10:02:57 +00:00 committed by Git OBS Bridge
commit 198f4630fa
2 changed files with 8 additions and 17 deletions

View File

@ -1,9 +1,3 @@
-------------------------------------------------------------------
Mon Aug 5 14:25:14 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>
- Implement UID:GID support for busybox
- Reenable UID:GID support
------------------------------------------------------------------- -------------------------------------------------------------------
Sat Aug 3 06:09:03 UTC 2024 - Thorsten Kukuk <kukuk@suse.com> Sat Aug 3 06:09:03 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>

View File

@ -52,11 +52,12 @@ else
continue continue
fi fi
# Split user and Group id. Must work with busybox sh. # Split user and Group id
case $2 in #userGrouArr=(${2//:/ })
(*:*) USER_ID=${2%:*} GROUP_ID=${2##*:};; #USER_ID=${userGrouArr[0]}
(*) USER_ID=$2 GROUP_ID="";; #GROUP_ID=${userGrouArr[1]}
esac USER_ID=$2
GROUP_ID=""
if [ -n "$USER_ID" ] && [ "$USER_ID" != "-" ]; then if [ -n "$USER_ID" ] && [ "$USER_ID" != "-" ]; then
ARGUMENTS="-u $USER_ID $ARGUMENTS" ARGUMENTS="-u $USER_ID $ARGUMENTS"
@ -88,13 +89,9 @@ else
run /usr/sbin/useradd -r -c "$3" -d "${homedir}" $ARGUMENTS run /usr/sbin/useradd -r -c "$3" -d "${homedir}" $ARGUMENTS
elif [ -x "$busybox" ]; then elif [ -x "$busybox" ]; then
if [ -n "$GROUP_ID" ] && [ "$GROUP_ID" != "-" ]; then
run $busybox adduser -S -H -g "$3" -G "GROUP_ID" -h "${homedir}" $ARGUMENTS
else
/usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1" /usr/bin/getent group "$1" >> /dev/null || $busybox addgroup -S "$1"
run $busybox adduser -S -H -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS run $busybox adduser -S -H -g "$3" -G "$1" -h "${homedir}" $ARGUMENTS
fi
else else
echo "ERROR: neither useradd nor busybox found!" echo "ERROR: neither useradd nor busybox found!"
exit 1 exit 1
@ -103,9 +100,9 @@ else
m) m)
shift shift
if [ -x /usr/sbin/usermod ] ; then if [ -x /usr/sbin/usermod ] ; then
run /usr/sbin/usermod -a -G "$USER_ID" "$1" run /usr/sbin/usermod -a -G "$2" "$1"
elif [ -x "$busybox" ]; then elif [ -x "$busybox" ]; then
run $busybox addgroup "$1" "$USER_ID" run $busybox addgroup "$1" "$2"
else else
echo "ERROR: neither usermod nor busybox found!" echo "ERROR: neither usermod nor busybox found!"
exit 1 exit 1