Centos

如何在 freeipa 中管理 docker 組?

  • September 24, 2019

首先,我嘗試在 freeipa 中管理 dockerroot,因為這是我看到的唯一一個sudo getent group | grep dock.

我在某處看到說我可以在 freeipa 中創建一個具有相同 GID 的組,它將與本地組同步。

這對我來說不是一個選擇。我dockerroot在幾台具有不同GID 的機器上擁有該組。

所以我轉向sss_override.

我試過sudo sss_override group-add dockerroot -g <my_freeipa_gid>但我得到:

Unable to find group dockerroot@[unknown].

如果我遺漏了什麼,我在文件中找不到。我嘗試使用dockerroot@localhost但我得到:

Unable to parse name dockerroot@localhost.

我開始將 docker 部署到機器上,並希望幾個使用者能夠在沒有 sudo 的情況下執行 docker。我不想在每台目標機器上創建規則。每當我用 docker 啟動一台新機器時,特殊使用者都應該通過 freeipa 規則自動獲得組成員資格。

yum remove docker && yum install docker似乎也不會影響團隊。

我可以刪除它並重新創建它嗎?我不知道我在這裡打破了什麼,所以我猶豫要不要做更多。


現在我已經嘗試按照 docker 的文件來執行此操作:

sudo groupadd docker
sudo usermod -aG docker $USER
docker run hello-world

我想在我的域上使用它,所以我在 freeipa 中創建了組,並將我的使用者添加到其中。我給它時間同步,註銷和登錄,並檢查了組:

sudo getent group docker
docker:*:<my_freeipa_id>:<my_uid>

但我仍然得到許可被拒絕。

既然你有 group dockerroot,我假設你正在使用 RedHat/CentOS 提供的 Docker 包。

我認為問題在於 RedHat 預設不提供 Docker 供組使用。要驗證,請檢查套接字文件的權限(預設位置/var/run/docker.sock)。

您需要更改 Docker 配置(預設/etc/docker/daemon.json)以創建具有您希望使用的組權限的 Docker 套接字。您可以使用任何組,只要使用所需的組權限創建套接字文件即可。 daemon.json 配置文件的官方文件

這個 Bugzilla 票有一個關於為什麼預設權限不允許非 root 組執行 Docker 的聲明

引用自:https://unix.stackexchange.com/questions/543525