Open
Description
Contributing guidelines and issue reporting guide
- I've read the contributing guidelines and wholeheartedly agree. I've also read the issue reporting guide.
Well-formed report checklist
- I have found a bug that the documentation does not mention anything about my problem
- I have found a bug that there are no open or closed issues that are related to my problem
- I have provided version/information about my environment and done my best to provide a reproducer
Description of bug
Bug description
The command COPY --chmod=640 foo.bar /non-existent/path/foo.bar
copies the foo.bar
file to /non-existent/path/foo.bar
, but it also sets the directory /non-existent/path/
permissions to 640
. Prior to fixing #4945, the permissions for /non-existent/path/
were 755.
If I want users to access /non-existent/path/foo.bar
, I now have to modify the above COPY command to COPY --chmod=750 foo.bar /non-existent/path/foo.bar
, which gives the foo.bar
file executable permissions. This outcome does not align with my expectations.
I expect that when creating a directory, regardless of the file permissions specified by the user, a -x
permission should be set.
Reproduction
- Take this
Dockerfile
FROM busybox
COPY --chown=daemon:daemon --chmod=640 foo.bar /non-existent/path/foo.bar
touch foo.bar
DOCKER_BUILDKIT=1 docker build -t bla .
docker run --entrypoint /bin/sh --user=daemon --rm -it bla -c "ls /non-existent/path/foo.bar"
Result:
ls: /non-existent/path/foo.bar: Permission denied
Version information
buildkit: v0.21.0
Metadata
Metadata
Assignees
Type
Projects
Status
New