將使用者加入docker
群組而不是授予她sudo
對主機的存取權限是否有真正的優勢?
長話短說,我正在編寫一個教程,展示該群組的成員如何透過伺服器正在偵聽的Unix 網域套接字直接與 docker 伺服器docker
互動(即不使用)。sudo
dockerd
然而,透過授予非特權用戶創建任意容器的權力,用戶似乎獲得了有效的對主機的 root 存取權限:例如,透過綁定掛載修改主機檔案系統變得非常容易。或透過procfs
/與內核互動sysfs
。那麼,將某人放入該docker
群組而不是授予該使用者對系統的 root 存取權限有什麼意義呢?
答案1
或者用戶可以只是載入一個方便的 Docker 容器,將它們直接放入 root shell 中。
授予對 docker 套接字的存取權限實際上確實保證了升級權限的能力。
這裡重要的是聲明你的意圖。您將某人放入docker
群組中,以便他們可以運行容器,而無需sudo
始終運行每個命令。sudoers
當您希望某人能夠sudo
以 root 身分執行任何命令時,您可以將其放入。
如果您不想讓任何人存取 Docker 套接字,那麼您幾乎肯定應該使用 OpenShift 或 Kubernetes 等編排系統。