devcontainers / devcontainers/features

ghcr.io/devcontainers/features/git:1 changes mode of /tmp to 755 causing "mkdir: cannot create directory ‘/tmp/.X11-unix’: Permission denied"

Open
#1,480 15 comments 7 reactions 1 assignee Claimed by @v-Kaniska244 View on GitHub
Dominant language
Shell
Stars
1.5k
Forks
621
Avg merge
2d 11h
Merged PRs (30d)
4

Description

Adding feature `ghcr.io/devcontainers/features/git:1` causes the mode of `/tmp` in the container to be changed to `0755`.

This is my devcontainer.json
```json
{
"name": "myproj",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"features": {
"ghcr.io/devcontainers/features/git:1": {}
}
}
```
and this is the `Dockerfile`
```
ARG VARIANT="3.11"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

RUN ls -la /tmp
```

It might also be important to mention that I'm using `podman`. I don't have docker at hand, so I don't know if that plays a role in this bug.

When I do a "Reopen in Container" in vscode I eventually get this error:
```txt
...
[1/3] STEP 1/2: FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.11 AS dev_container_auto_added_stage_label
[1/3] STEP 2/2: RUN ls -la /tmp
total 0
drwxrwxrwt. 1 root root 36 Jun 8 2023 .
dr-xr-xr-x. 1 root root 24 Sep 13 19:23 ..
drwxr-xr-x. 1 root root 0 Jun 8 2023 build-features-src
drwxr-xr-x. 1 root root 66 Jun 8 2023 dev-container-features
--> 77f2db5530a2
...
[38726 ms] Start: Run in container: test -e /tmp/.X11-unix/X0
[38727 ms]
[38727 ms]
[38727 ms] Exit code 1
[38727 ms] Start: Run in container: mkdir -p '/tmp/.X11-unix'
[38729 ms]
[38729 ms] mkdir: cannot create directory ‘/tmp/.X11-unix’: Permission denied
[38730 ms] Exit code 1
[38733 ms] Command in container failed: mkdir -p '/tmp/.X11-unix'
[38733 ms] mkdir: cannot create directory ‘/tmp/.X11-unix’: Permission denied
[38734 ms] Exit code 1
```
When this happens, before canceling, I can `"exec"` into the container from another terminal and look at `/tmp` in the container.
```sh
$ podman exec -t -i jovial_sutherland /bin/bash
root ➜ / $ ls -ld /tmp/
drwxr-xr-x. 1 root root 80 Sep 13 19:23 /tmp/
```
Somewhere/somehow the mode of `/tmp` got changed.

If I drop the git feature the problem does not happen.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.