Linux一般用户去掉sudo权限使用docker的方法
在Linux中安装Docker后,每次使用docker都要添加sudo
命令,这样既不方便而且在操作的时候可能还会由于权限问题导致各种问题。虽然可以通过切换root
用户来解决,但是在Linux中直接使用root
用户操作系统本身就是一种不太安全的行为。那么如何是一般用户不用sudo
命令也能操作docker呢?
未使用sudo
命令报错:
从报错中可以直接看出,普通用户对/var/run/docker.sock
没有读写权限,于是被拒绝操作。
那么知道问题所在就可以解决问题了,最简单的方法就是直接把这个文件的权限放开,让一般用户都有都写权限:
1 | sudo chmod a+rw /var/run/docker.sock |
理论上这样就可以解决问题了,但是既然docker默认不让其他用户访问这个文件肯定有它的安全性考虑,上面这样的操作实际生产环境中应该是不可取的。
那么再分析,先看看这个文件的属性,执行:
1 | ls -l /var/run/docker.sock |
文件信息如下:
就像刚才所说,它的所有者和组成员才有读写权限,其他用户没有任何操作权限。
看信息可知它的所属组为:docker
,那么把普通用户加入docker组不就解决问题了吗?
执行:
1 | sudo gpasswd -a $USER docker |
添加组成员,再查看是否添加成功。
执行:
1 | sudo cat /etc/group |grep $USER |
可见成功添加:
添加后一定要记得刷新组信息:
1 | newgrp docker |
现在应该可以不用sudo
,直接使用docker命令了。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 你所不知道的物語;!
評論