将用户放入“docker”组而不是授予她“sudo”对主机的访问权限有哪些好处?

将用户放入“docker”组而不是授予她“sudo”对主机的访问权限有哪些好处?

将用户放入docker组而不是授予她sudo访问主机的权限有什么真正的优势吗?


长话短说,我正在编写一个教程,展示小组成员如何通过服务器正在监听的Unix 域套接字直接与 docker 服务器docker交互(即不使用)。sudodockerd

然而,通过授予非特权用户创建任意容器的权力,似乎用户获得了有效的主机的 root 访问权限:例如,这样就很容易通过绑定挂载修改主机 fs。或者通过procfs/与内核交互。那么将某人放入组而不是授予该用户系统的 root 访问sysfs权限有什么意义呢?docker

答案1

或者用户可以加载一个方便的 Docker 容器,将其直接放入 root shell 中

授予对 docker 套接字的访问权限确实实际上保证了提升权限的能力。

这里重要的是声明你的意图。你将某人放入docker组中,这样他们就可以运行容器,而不需要一直为每个命令运行。当你希望他们能够以 root 身份运行任何命令时sudo,你就将某人放入组中。sudoerssudo

如果您不想让任意人员访问 Docker 套接字,那么您几乎肯定应该使用诸如 OpenShift 或 Kubernetes 之类的编排系统。

相关内容