diff --git a/codex-cli/Dockerfile b/codex-cli/Dockerfile index 5f89420372..ef1ccfba90 100644 --- a/codex-cli/Dockerfile +++ b/codex-cli/Dockerfile @@ -20,7 +20,6 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ less \ man-db \ procps \ - sudo \ unzip \ ripgrep \ zsh \ @@ -50,7 +49,5 @@ RUN npm install -g codex.tgz \ # Copy and set up firewall script COPY scripts/init_firewall.sh /usr/local/bin/ USER root -RUN chmod +x /usr/local/bin/init_firewall.sh && \ - echo "node ALL=(root) NOPASSWD: /usr/local/bin/init_firewall.sh" > /etc/sudoers.d/node-firewall && \ - chmod 0440 /etc/sudoers.d/node-firewall +RUN chmod +x /usr/local/bin/init_firewall.sh USER node diff --git a/codex-cli/scripts/run_in_container.sh b/codex-cli/scripts/run_in_container.sh index c95c57aead..b062e85964 100755 --- a/codex-cli/scripts/run_in_container.sh +++ b/codex-cli/scripts/run_in_container.sh @@ -57,8 +57,10 @@ docker run --name "$CONTAINER_NAME" -d \ codex \ sleep infinity -# Initialize the firewall inside the container. -docker exec "$CONTAINER_NAME" bash -c "sudo /usr/local/bin/init_firewall.sh" +# Initialize the firewall inside the container with root privileges. We avoid +# using sudo inside the container altogether by invoking the script directly +# as the root user via docker exec. +docker exec --user root "$CONTAINER_NAME" /usr/local/bin/init_firewall.sh # Execute the provided command in the container, ensuring it runs in the work directory. # We use a parameterized bash command to safely handle the command and directory.