【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.この操作が役に立つことを願っています.