Skip to content

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

@keestux

Description

@keestux

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

{
	"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:

...
[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.

$ 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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions