【问题标题】:Docker : Run apache with www-data user but execute script as root at launchDocker:使用 www-data 用户运行 apache,但在启动时以 root 身份执行脚本
【发布时间】:2022-11-05 23:03:25
【问题描述】:

我想保护基于 php-apache 的 Docker 映像。

我的 Dockerfile 使用 bash 脚本作为入口点,这是授予 www-data 用户运行 apache 的最低权限。权限由 setfacl 提供,setfacl 规则不会保留在 docker 映像中,它们需要在启动时创建(如果我错了,请纠正我)。最后,入口点启动 apache2

我的问题是:入口点需要以 root 身份启动(对于 setfacl)。但是我配置了所有图像,因此我可以将 apache2 作为 www-data 启动,以获得最大的安全性。我该如何解决这个问题?

Dockerfile 看起来像:

`来自 php:${TAG_SIAM_PHP}

...

曝光 80 暴露 443

用户 www 数据

入口点 ["bash", "/docker-entrypoint.sh"]

`

谢谢 !

我曾考虑以 root 身份启动入口点,然后 su - www-data -c apache2... 但出于安全原因,www-data 是非登录用户,因此无法正常工作。

我想过在 ENTRYPOINT 和 CMD 之间更改 dockerfile 中的 USER 但我认为这不起作用...

【问题讨论】:

    标签: php docker apache dockerfile docker-entrypoint


    【解决方案1】:

    对于那些想知道的人,我最终在 Dockerfile 中使用了 chown/chmod。我放弃了将 setfacl 与 docker 一起使用。

    【讨论】:

      猜你喜欢
      • 2021-02-26
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      相关资源
      最近更新 更多