SMB共享NFS挂载时权限如何运作?

SMB共享NFS挂载时权限如何运作?

我设置了一个服务器jellyfin(运行 jellyfin),将所有媒体存储在一个单独的硬盘上,可以通过本地 PC 上的 NFS 共享访问。这可以按预期工作,但由于 NFS 是直接连接的,因此它不太适合用户可以上传自己的媒体的家庭环境。

因此,我添加了一个名为的 SMB 服务器cifs,为每个用户提供私有存储,现在我想通过 SMB 向特定组的所有用户公开 jellyfin NFS 共享。

服务器: jellyfin

该目录/nfs/jellyfin归所有jellyfin:jellyfin,因此,我将所有用户压缩到该用户和组以进行 NFS 挂载(108:112)。

# /etc/exports
/nfs/jellyfin 192.168.1.210(rw,sync,no_subtree_check,all_squash,anonuid=108,anongid=112)

服务器:cifs

在启动时挂载 NFS 共享并能够列出其中的所有内容。所有 smb 用户如果属于jellyfin组 ID ,也能够列出内容在 smb 服务器上(x:1004)。

[jellyfin]
   path = /samba/jellyfin
   comment = Jellyfin Media Service
   read only = no
   valid users = @jellyfin

目录/samba/jellyfin权限:

$ ls -lav /samba
total 15
drwxr-xr-x  4  108  112 4096 Aug  9 10:18 jellyfin

我认为问题出在这里(SMB 将用户 108:112 视为 rw)但这些 id 仅存在于服务器上jellyfin

问题

如果我通过使用与上述相同的参数导出 NFS 共享并将其直接安装到我的 PC 上,我就可以对文件夹和文件执行任何操作(创建、删除、重命名等)。但是当我尝试通过 SMB 共享执行相同操作时,我只能列出和读取文件,而不能编辑或创建。

假设

由于 NFS 共享将所有内容压缩到本地 jellyfin 用户和组,我认为我的问题出在 SMB 服务器上,并且 SMB 服务器阻止用户创建或编辑文件。

但是,我不确定出了什么问题,为什么我可以列出文件,但不能创建或编辑?

编辑:因此,我将 NFS 服务器上 jellyfin 目录的权限更改为 775,现在我可以写入 - 但这也意味着任何人都可以从这些目录中写入和读取,这不是可取的。这也意味着all_squash不适用于通过 SMB 挂载的 NFS?

相关内容