根据我从阅读docker文档中了解到的情况,容器共享它们运行的主机的内核。这是否意味着用户可以--通过使用容器--按照自己的意愿设置内核配置?因为如果是这样的话,如果用户可以设置内核本身,我们为什么还要允许/拒绝内核功能呢?我的第三个问题是:如果用户确实可以设置内核,那么像Apparmor这样的系统不能帮助防止这种情况发生吗?
以下是我的问题:
发布于 2018-01-10 16:29:38
用户能否从运行中的容器中更改码头主机的内核配置(因为他们共享内核)?
容器在自己的沙箱中运行。它拥有自己的文件系统,与主机隔离。因此,默认情况下,它无权影响主机及其内核。
现在,您可以通过挂载只能由根管理用户访问的主机目录,让容器访问关键内容。而且,由于默认情况下容器内的root将是容器外部的root,所以可以从挂载目录中利用机器上的关键内容。然而,这是使用用户命名空间解决的。
root
因此,只要您不让容器访问复杂的东西,它仍然比直接在主机上运行应用程序更安全。
您可以在官方文件中阅读更多关于码头安全性的信息。
https://stackoverflow.com/questions/48190321
相似问题