29 lines
571 B
Bash
Executable File
29 lines
571 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
uid=${UID?}
|
|
gid=${GID?}
|
|
user=${USER:-"build"}
|
|
export HOME="/home/${user}"
|
|
|
|
# If running user is not root, make a custom user/group
|
|
[ "$uid" != "0" ] && {
|
|
getent group "$gid" && groupdel "$gid"
|
|
getent passwd "$uid" && userdel "$uid"
|
|
groupadd -g "$gid" "${user}"
|
|
useradd \
|
|
-g "$gid" \
|
|
-G sudo \
|
|
-u "$uid" \
|
|
-d "/home/${user}" \
|
|
-s /bin/bash \
|
|
"${user}"
|
|
}
|
|
|
|
cd "$HOME"
|
|
|
|
# If running user is not root, pivot to running user
|
|
[ "$uid" != "0" ] && {
|
|
setpriv --reuid="$uid" --regid="$gid" --init-groups "$@"
|
|
}
|