繁体   English   中英

如何限制 docker 组用户附加由另一个组用户启动的正在运行的 docker 容器的能力?

[英]How to restrict docker group users ability to attach running docker containers which were started by another group user?

我在 docker 组中有一些用户(A,B,...),基本上,每个用户都可以从图像启动一个容器,但是当用户 A 在后台启动一个容器(带有 -d 标志)时会出现问题。 此时,用户 B 可以附加此容器。 限制用户只能附加他们启动的容器的最佳解决方案是什么?

我在一些 root 访问、命名空间等之间混淆了,我不知道 Docker。

我想说“为每个用户创建新组”,但随后您必须使用Docker权限配置每个组,这将使您回到原来的位置。 做一些研究,小组也不可能成为小组的一部分。 https://unix.stackexchange.com/questions/47645/group-within-group-file-permissions

我不相信有一种可管理的方式来完成您想要做的事情,只是将每个用户放到自己的机器/实例/虚拟机中。

如果您知道这一点,我将对了解解决方案感兴趣。 祝你好运。

可以运行任何Docker命令的任何人都可以对主机进行无限制的root访问。

Docker没有内置的方式来限制您所建议的访问方式。 任何人都可以将docker attach到其他人的容器上; 任何人都可以docker stop; docker rm docker stop; docker rm他们; 任何人都可以docker run看似相同的容器,但具有不同的卷挂载; 任何人都可以docker run -v/:/host ...并以root身份对主机文件系统进行任意更改。

您应该重新考虑是否可以在这样的多用户系统上使用Docker。 将某人添加到docker组等效于为他们提供不受限制的sudo访问(这是一个微不足道的docker run命令,如果他们还没有的话,可以将其交给自己)。

docker 权限是个麻烦事。 任何docker用户都有root权限,太疯狂了!

没有出路? 也许使用一种不太危险的方式(好吧,仍然是一种危险的方式):

  1. 只将管理员放在 docker 组中
  2. 在容器中设置 ssh,并获取 IP 地址
  3. 其他用户通过ssh访问容器

因此,容器中的损坏可能是有限的,并且您的主机系统似乎更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM