Here我编写了一个用于测试用户访问权限的Dockerfile。另一个文件(run.sh)位于此link
上到此为止,我已经完成了这个:
使用docker进行操作:
由于对/ app目录的限制,使用devops用户运行bash没有问题,但是当我使用root用户运行bash时,我可以做任何我想做的事情,而devops用户也没用。我该如何纠正这个安全漏洞?
答案 0 :(得分:1)
如issue 8664中所述:
如果有人可以访问Docker,他们可以访问您的整个系统,可以加入namepsaces等 禁用
docker exec
根本不会增强安全性。
如果您可以运行docker exec
,则可以在任何正在运行的容器中以root身份运行它。这不是错误或安全风险。这是一个功能。
来自issue 8798:
我认为
exec
主要用于调试容器,因此必须能够执行root
。
OP Agustín Alba Chicar与in the comments确认(issue 18640)
(Brian Goff -- cpuguy83
的答案)
没有。
按照惯例,任何有权访问docker的用户都拥有对主机的完全root权限,这使得对容器的root访问权限无法实现。Docker现在在master中有一个授权框架,可用于限制这种访问。它将在Docker 1.10中提供。