已更改 docker 卷文件夹的权限 > 您无权访问此资源

已更改 docker 卷文件夹的权限 > 您无权访问此资源

我在 docker 中运行 nextcloudpi 的一个实例。我想通过 rsync 在两个服务器之间同步数据文件夹,但得到了一个权限文件夹。所以我尝试授予我的用户“John”读取该文件夹的权限。似乎我做错了什么,因为知道实例无法访问数据文件夹,并且在浏览器中尝试访问 nextcloud 时,我收到“您无权访问此资源”。有人可以告诉我如何解决这个问题吗?文件夹中的权限应该是什么?现在,我有以下权限:

$:/var/lib/docker$ sudo ls -l
drwx--x--x 4 root root 8 Mai 28 20:09 buildkit
drwx------ 3 root root 3 Jun 17 18:25 containers
drwx------ 3 root root 3 Mai 28 20:09 image
drwxr-x--- 3 root root 3 Mai 28 20:09 network
drwx------ 4 root root 4 Mai 28 20:09 plugins
drwx------ 2 root root 2 Jul  2 17:14 runtimes
drwx------ 2 root root 2 Mai 28 20:09 swarm
drwx------ 2 root root 2 Jul  2 17:14 tmp
drwx------ 2 root root 2 Mai 28 20:09 trust
drwxr--r-- 3 root root 5 Jul  2 17:14 volumes
drwx------ 3 root root 3 Mai 28 20:10 zfs

$ sudo ls -l volumes
total 7
brw------- 1 root root 0, 64 Jul  2 17:14 backingFsBlockDev
-rwxr--r-- 1 root root 32768 Jul  2 17:14 metadata.db
drwxr--r-- 3 root root     3 Mai 28 20:11 ncdata

答案1

为了避免权限问题,我建议使用linuxserver.io 的 NextCloud 镜像。这里您可以在docker或docker-compose配置文件中轻松设置PGID和PUID。

例如,如果 PGID 和 PUIDJohn是 1000,则直接使用默认值。

通常,对于每个容器的数据,您应该具有以下权限:

  • 对于文件:-rw-r--r-- 1 John
  • 对于目录:-rwxr-xr-x 1 John

另外,您是否将用户添加John到了组中docker?使用此命令:

sudo usermod -aG docker John

通过groups命令确认您是该组的成员docker

相关内容