Linux用户组名称和命令名称之间有关系吗?

Linux 操作系统中装了 docker,但是使用 docker 的使用发现一个问题就是要加 sudo ,不加会提示:permissiondenied

?比如 docker info,显示没有权限?

┌──(bot㉿kali)-[/usr/bin]

└─$ docker info 1 ⨯

Client:

Context: default

Debug Mode: false

Plugins:

scan: Docker Scan (Docker Inc., v0.12.0)

Server:

ERROR: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/info": dial unix /var/run/docker.sock: connect: permission denied

errors pretty printing info

Linux用户组名称和命令名称之间有关系吗?

?比如 docker image ls,显示没有权限?

┌──(bot㉿kali)-[/usr/bin]

└─$ docker image ls 1 ⨯

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/json": dial unix /var/run/docker.sock: connect: permission denied

Linux用户组名称和命令名称之间有关系吗?

所以我打开浏览器,输入了: linux docker 不加 sudo

Linux用户组名称和命令名称之间有关系吗?

然后看到了下面的内容:?

怎样使用docker不加sudo
Linux用户组名称和命令名称之间有关系吗?

所以,为什么建一个名为 docker 用户组,并把当前用户添加到 docker 用户组就可以不加 sudo 呢?因为这个 docker 用户组只是叫做 docker,并没有和 docker 命令做关联!!!

所以在 Linux 系统中,只要用户组的名字和命令的名字一样,改命令组中的用户就拥有了不加 sudo 执行改命令的权限了吗??


回答:

因为docker默认的unix domain socket的权限就是针对docker组有写入权限,所以你把用户加入这个组就有对应的权限了。你看下报错提示的那个unix domain socket的权限就清楚了


回答:

“所以在 Linux 系统中,只要用户组的名字和命令的名字一样,改命令组中的用户就拥有了不加 sudo 执行改命令的权限了吗?”------这么理解是错的;

首先你能否正常执行某个linux命令的前提是你当前的用户是否有执行命令所需要的权限,如果你有相应的权限那你用不用sudo都可以正常执行;

sudo通常用来给用户临时提权,比如你在/etc/sudoers配置文件中添加了如下配置,则表示所有在wheel用户组的用户都可以执行所有命令,所以sudo可以让原本没有权限的用户以sudo配置文件里配置的权限去执行命令。

sudoedit /etc/sudoers

%wheel ALL=(ALL) ALL

以上是 Linux用户组名称和命令名称之间有关系吗? 的全部内容, 来源链接: utcz.com/p/938240.html

回到顶部