diff options
author | Christian Poessinger <christian@poessinger.com> | 2019-01-11 09:15:33 +0100 |
---|---|---|
committer | Christian Poessinger <christian@poessinger.com> | 2019-01-11 09:15:33 +0100 |
commit | 4c42851c53a5884b36a1a7850b7b663e4faf82c9 (patch) | |
tree | eb09f7449662e6e49aedf58bff94ebca22c8db07 /docker | |
parent | 4004496e89d2a27cfb4cc3a87253dd9dac54e160 (diff) | |
download | vyos-build-4c42851c53a5884b36a1a7850b7b663e4faf82c9.tar.gz vyos-build-4c42851c53a5884b36a1a7850b7b663e4faf82c9.zip |
Docker: create UNIX group on demand
Diffstat (limited to 'docker')
-rw-r--r-- | docker/Dockerfile | 2 | ||||
-rwxr-xr-x | docker/entrypoint.sh | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile index 2744d291..505660ab 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -158,7 +158,7 @@ RUN export LATEST="$(curl -s https://checkpoint-api.hashicorp.com/v1/check/packe # Allow password-less 'sudo' for all users in group 'sudo' RUN sed "s/^%sudo.*/%sudo\tALL=(ALL) NOPASSWD:ALL/g" -i /etc/sudoers && \ - chmod a+s /usr/sbin/useradd /usr/sbin/gosu /usr/sbin/usermod + chmod a+s /usr/sbin/useradd /usr/sbin/groupadd /usr/sbin/gosu /usr/sbin/usermod COPY entrypoint.sh /usr/local/bin/entrypoint.sh ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 00e1e139..8db41103 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -18,8 +18,13 @@ fi # Notify user about selected UID/GID echo "Current UID/GID: $NEW_UID/$NEW_GID" -useradd --shell /bin/bash -u $NEW_UID -g $NEW_GID -o -m $USER_NAME -usermod -aG sudo $USER_NAME +# Create UNIX group on the fly if it does not exist +if ! grep -q $NEW_GID /etc/group; then + groupadd --gid $NEW_GID $USER_NAME +fi + +useradd --shell /bin/bash --uid $NEW_UID --gid $NEW_GID --non-unique --create-home $USER_NAME +usermod --append --groups sudo $USER_NAME sudo chown $NEW_UID:$NEW_GID /home/$USER_NAME export HOME=/home/$USER_NAME |