将用户添加到组docker,这样的用户可以通过-v挂载目录来访问容器中的未授权目录

时间:2017-11-14 07:35:38

标签: docker docker-container

在我的centos系统中,我将用户添加到分组docker,我发现这样的用户可以通过docker run -it -v path-to-directory:directory-in-container将文件夹附加到容器来访问任何文件夹。例如,我有一个模式700的文件夹,只能通过root访问,但如果没有权限访问此文件夹的人运行容器并将此文件夹挂载到容器,他可以访问容器中的此文件夹。如何我阻止这样的用户将未经授权的目录附加到docker容器?我的docker版本是17.03.0-ce,系统os osOS 7.0。谢谢!

2 个答案:

答案 0 :(得分:0)

您应该参考并遵循容器原则来设置安全性或外部卷权限。但是您只想测试容器功能。 您可以设置路径到目录的访问模式777,是的,它是世界可读写的访问模式。对于任何容器卷映射,没有其他所有者组设置和访问模式设置。

chmod 777 /path/to/directory

答案 1 :(得分:0)

Docker守护程序以root身份运行,并且通常以root身份启动容器,内部用户一一映射到主机用户,因此docker组中的任何人都具有有效的root权限。

有一个选项可以告诉dockerd通过特定用户的子用户运行容器,请参见[https://docs.docker.com/engine/security/userns-remap/]。这样会阻止完全root用户访问,但是访问docker守护进程的每个人都将在该用户下运行容器-如果该用户不是它们,则他们将无法在自己的家中有用地装载东西。

我还认为它与--privileged容器不兼容,但是这些容器当然也可以通过其他方式为您提供完全的root访问权限。