相关疑难解决方法(0)

Dockerfile 中的 setfacl 不起作用

我想在使用 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)

linux ubuntu acl docker dockerfile

6
推荐指数
1
解决办法
1174
查看次数

标签 统计

acl ×1

docker ×1

dockerfile ×1

linux ×1

ubuntu ×1