我想在使用 setfacl 构建 docker 映像时为某些文件夹设置默认 acl 但它没有效果。默认 acl 不变。我的目标是在 /opt 中创建的每个文件都必须对任何用户具有 rwX 权限,因为该映像稍后将使用任意 uid 运行,并且需要对 /opt 的完全访问权限。
这是一个快速示例 Dockerfile
FROM ubuntu:bionic
SHELL ["/bin/bash", "-c"]
RUN apt-get update > /dev/null && apt-get install -y --no-install-recommends acl > /dev/null
RUN chmod -R a+rwXs /opt
RUN setfacl -d -m o::rwx /opt
RUN getfacl /opt
Run Code Online (Sandbox Code Playgroud)
输出是
# file: opt
# owner: root
# group: root
# flags: ss-
user::rwx
group::rwx
other::rwx
Run Code Online (Sandbox Code Playgroud)
这是错误的,缺少默认的 acl。但是如果我手动运行容器中的命令,它就可以工作
docker run -ti --rm ubuntu:bionic bash
root@636bf8fdba41:/# apt-get update > /dev/null …Run Code Online (Sandbox Code Playgroud)