2020-09-04 05:38:40 +07:00
|
|
|
#!/bin/sh
|
2020-08-26 02:38:12 +07:00
|
|
|
set -eu
|
|
|
|
|
2020-09-04 05:38:40 +07:00
|
|
|
# This isn't set by default.
|
2020-09-09 11:07:04 +07:00
|
|
|
USER="$(whoami)"
|
|
|
|
export USER
|
2020-09-04 05:38:40 +07:00
|
|
|
|
|
|
|
if [ "${DOCKER_USER-}" != "$USER" ]; then
|
2020-08-26 02:38:12 +07:00
|
|
|
echo "$DOCKER_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
|
2020-09-04 05:38:40 +07:00
|
|
|
# Unfortunately we cannot change $HOME as we cannot move any bind mounts
|
|
|
|
# nor can we bind mount $HOME into a new home as that requires a privileged container.
|
|
|
|
sudo usermod --login "$DOCKER_USER" coder
|
2020-08-26 02:38:12 +07:00
|
|
|
sudo groupmod -n "$DOCKER_USER" coder
|
|
|
|
|
2020-09-09 11:07:04 +07:00
|
|
|
USER="$DOCKER_USER"
|
2020-09-04 05:38:40 +07:00
|
|
|
|
2020-08-26 02:38:12 +07:00
|
|
|
sudo sed -i "/coder/d" /etc/sudoers.d/nopasswd
|
|
|
|
sudo sed -i "s/coder/$DOCKER_USER/g" /etc/fixuid/config.yml
|
|
|
|
fi
|
|
|
|
|
|
|
|
dumb-init fixuid -q /usr/bin/code-server "$@"
|