【Docker】root以外のユーザーがdockerユーザーグループに参加してsudoを省く(3)


あなたは私にあなたを爱してどれだけ深いかを聞いて、この穴の後ろに穴があります......


なぜdockerユーザーグループを作成する必要があるのですか?


Docker待機プロセスは、TCPポートではなくunix socketにバインドされます.このソケットのデフォルトの所有者はrootであり、他のユーザーはsudoコマンドを使用してこのソケットファイルにアクセスできます.このためdockerサービスプロセスはrootアカウントとして実行されます.
dockerコマンドを実行するたびにsudoを入力しないように、dockerユーザーグループを作成し、対応するユーザーをこのグループに追加できます.dockerプロセスが開始されると、このソケットはdockerというパケットのユーザによって読み書きできるように設定されます.これによりdockerというグループ内のユーザであればdockerコマンドを直接実行することができる.
警告:このdockergroupはrootアカウントと同じで、具体的な詳細はこの文章を参照することができます:Docker Daemon Attack Surface.
サーバ環境:centos 7,docker 1.12.6

1.sudo権限のあるアカウントを使用して、jayzhenユーザーなどのサーバシステムにログインする


2.ユーザーグループdockerを新規作成する前に、ユーザーグループにdockerグループがあるかどうかを確認します。

sudo cat /etc/group | grep docker

3.dockerパケットを作成し、対応するユーザをこのパケットに追加します。

sudo groupadd -g 999 docker 

#-g 999はグループIDであり、指定しなくてもよい
sudo usermod -aG dockerroot jayzhen
sudo usermod -aG docker jayzhen

4.作成が有効かどうかを確認する

cat /etc/group

5.現在のユーザーログインステータスを終了し、再ログインして権限を有効にするか、docker-daemonを再起動します。

sudo systemctl restart docker

6.dockerコマンドを直接実行し、dockerコマンドを実行できることを確認します。

docker  info

getをプロンプトすると...dial unix/var/run/docker.sock権限が足りない場合は/var/run/docker.を変更します.sock権限
sudo chmod a+rw /var/run/docker.sock

7.この操作が役に立つことを願っています.