web-dev-qa-db-fra.com

Comment réparer "composez unix /var/run/docker.sock: connect: autorisation refusée" lorsque les autorisations de groupe semblent correctes?

J'ai soudainement des problèmes après une mise à jour d'Ubuntu 18.04: auparavant, j'utilisais docker sans problème sur le système, mais du coup je ne peux plus. Autant que je sache, les autorisations semblent correctes:

$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
$ ls -last /var/run/docker.sock 
0 srw-rw---- 1 root docker 0 Jul 14 09:10 /var/run/docker.sock
$ whoami
brandon
$ cat /etc/group | grep docker
docker:x:995:brandon
nvidia-docker:x:994:

MODIFIER:

Informations de groupe:

$ groups
brandon
$ groups brandon
brandon : brandon adm cdrom Sudo dip plugdev games lpadmin sambashare docker
$ whoami
brandon

Mettre à jour

Depuis le poste original où j'avais mis à niveau un système de 17.04 à 18.04, j'ai effectué deux mises à niveau de 16.04 à 18.04 et aucun des systèmes plus récents ne présentait le problème. Cela pourrait donc avoir quelque chose à voir avec le processus de mise à niveau de 17.04 à 18.04. Je n'ai pas encore effectué de nouvelle installation du 18.04.

5
bbarker

ajoutez l'utilisateur au groupe de menus. 

Sudo usermod -aG docker $USER
Sudo reboot
4
Karen Danielyan
Sudo setfacl -m user:brandon:rw /var/run/docker.sock

ne nécessite pas de redémarrage

2
Nahshon paz

J'ai fait la solution rapide et cela a fonctionné immédiatement. 

Sudo chmod 777 /var/run/docker.sock
0
parth

Lightdm est un problème connu propre à Ubuntu. Il supprime les groupes secondaires de l'utilisateur dans le cadre de la connexion à l'interface graphique. Vous pouvez suivre ce problème ici: https://bugs.launchpad.net/lightdm/+bug/1781418

Vous pouvez essayer d'éteindre Lightdm ou d'appliquer la solution de contournement mentionnée dans le rapport de bogue:

[Commentez les lignes ci-dessous de /etc/pam.d/lightdm:]

auth optional pam_kwallet.so
auth optional pam_kwallet5.so

Les options temporaires incluent la connexion à votre ordinateur avec quelque chose comme une commande ssh ou su -l, ou l'exécution de la commande newgrp docker. Celles-ci n’affecteront que le shell actuel et devront être répétées à chaque nouveau terminal.


En dehors de ce problème, les commandes générales permettant à un utilisateur d'accéder directement au socket de menu fixe (et donc d'accès root à l'hôte) sont les suivantes:

Sudo usermod -aG docker $(id -un) # you can often use $USER in place of the id command
newgrp docker # affects the current Shell, logging out should affect all shells
0
BMitch