【问题标题】:Docker: How to disable root user in container?Docker:如何在容器中禁用 root 用户?
【发布时间】:2019-06-18 12:47:46
【问题描述】:

向他们通常制作的客户提供图像

$ docker-compose up -d

在生产中部署这些。很容易获得 root 并且很容易查看/修改所有文件:

$ docker-compose exec <service> /bin/sh
/bin/sh(root)# ...

如何避免客户在运行容器时以 root 身份获得对所有文件的完全访问权限。也许这在 Docker 中根本不可能,但至少让用户获得对容器内任何内容的完全访问权限应该更复杂。

是否有在容器中引入非 root 帐户的最佳实践?

【问题讨论】:

    标签: docker docker-compose root


    【解决方案1】:

    你不能。您可以随时运行

    docker exec -u 0 (container ID) sh
    

    获取root shell。 (假设图像有一个外壳,但几乎所有的都有。)

    还请记住,任何可以运行任何docker 命令的人都可以编辑主机上的任何文件,并且可以从那里轻松成为 root,并且可以在/var/lib/docker 中尽情发挥。

    通常认为通过RUN adduser 将容器设置为以非root 身份运行以使用基本发行版的工具然后使用Dockerfile USER 指令创建用户是一种很好的做法,但如果操作员真的可以在运行时覆盖它想要。

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 2014-10-08
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多