ユーザーにホストへのアクセスをdocker
許可するのではなく、グループに追加することには実際に利点がありますか?sudo
長い話になりますが、私は、グループのメンバーが、サーバーがリッスンしているUnix ドメイン ソケットを介して、Docker サーバーとdocker
直接 (つまり、 を使用せずに) 対話する方法を示すチュートリアルを書いています。sudo
dockerd
しかし、権限のないユーザーに任意のコンテナを作成する権限を与えることで、ユーザーは効果的ホストへのルート アクセス: たとえば、バインド マウントを介してホストの fs を変更するのは非常に簡単になります。または、procfs
/を介してカーネルと対話しますsysfs
。では、そのユーザーにシステムへのルート アクセスを与えるのではなく、誰かをグループに入れることにはどのような意味があるのでしょうかdocker
。
答え1
あるいはユーザーはルートシェルに直接投入できる便利なDockerコンテナをロードする。
Docker ソケットへのアクセスを許可すると、権限を昇格できることが事実上保証されます。
ここで重要なのは、意図を宣言することです。グループに誰かを入れると、その人が常にすべてのコマンドをdocker
実行する必要なくコンテナを実行できるようになります。その人が root として任意のコマンドを実行できるようにしたいときに誰かを入れます。sudo
sudoers
sudo
任意のユーザーに Docker ソケットへのアクセス権を与えたくない場合は、OpenShift や Kubernetes などのオーケストレーション システムを使用する必要があります。