如何通过 Samba 嵌套和共享多个 ZFS 池给多个用户

如何通过 Samba 嵌套和共享多个 ZFS 池给多个用户

我有以下 ZFS 结构:

% sudo zfs list                                                            16:03:46
NAME                          USED  AVAIL     REFER  MOUNTPOINT
zpool1                       1.18T  5.86T      544K  legacy
zpool1/home                  1.18T  5.86T       96K  legacy
zpool1/home/alice            12.6G  5.86T     12.6G  /zshare/zpool1/home/alice
zpool1/home/bob              1.17T  5.86T     1.02T  /zshare/zpool1/home/bob
zpool2                       2.22T  4.82T      188K  legacy
zpool2/media                 1.13T  4.82T     1.13T  /zshare/zpool1/home/media_root

出于性能和存储原因,zpool1&zpool2不共享任何磁盘。我希望 bob 和 alice 都能访问media_root。但 Bob 和 Alice 不允许访问彼此的文件。

  1. 我无法将 /zshare/zpool1/home 作为文件夹共享,因为它属于根分区,而根分区很小,如果 alice 或 bob 想要将大于 60Gb 的任何东西复制到他们的文件夹中,它就会失败并出现“空间不足”的情况,即使他们的主文件夹有它(Windows 从托管 SMB 共享文件夹的驱动器计算空间)。
  2. 我无法将两个文件夹共享给两个用户的工作站,因为 Windows 不允许您从同一个 IP 地址挂载多个网络驱动器......
  3. 我无法media_root进行符号链接/alice/bob因为在 Windows 上它不会遵循符号链接,而且我似乎无法让硬链接在 Z 文件系统之间工作。

我真的真的不想将所有文件复制到media_rootalice 和 bob 的子文件夹中,并使用 crontab 样式的 rsync 来使它们彼此更新并在 zpool2 上保持更新,但还有什么其他选择?

我确信有某种方法可以通过 Ubuntu 20.04 上的 ZFS 实现这一点,但是如何实现呢?

编辑:所讨论的网络没有 DNS。

答案1

我无法将两个文件夹共享给两个用户的工作站,因为 Windows 不允许您从同一个 IP 地址挂载多个网络驱动器......

事实并非如此。您可以安装任意数量的网络驱动器(从到同一台机器)因为您有空闲的信件。您甚至可以使用普通的 UNC 路径或挂载甚至深路径名(如net use t: \\server\share\bobs\eyes\only)只需创建所需的共享并相应地使用它们即可。

但是 Bob 和 Alice 不允许访问彼此的文件。

这是文件/文件夹权限的问题。

答案2

我认为... 一种方法是为应该有权访问共享文件夹的用户设置一个组,然后设置共享文件夹的权限,以便只有该组的成员才能访问它。

例如,您可以创建一个名为“media_access”的组,并将 Alice 和 Bob 都添加到该组中。然后,您可以设置 media_root 文件夹的权限,以便只有 media_access 组的成员才能访问它。为此,您可以运行以下命令:

chgrp media_access /zshare/zpool1/home/media_root
chmod g+rwx /zshare/zpool1/home/media_root

这会将 media_root 文件夹的组所有权更改为 media_access 组,并授予该组成员对该文件夹的读取、写入和执行权限。

设置权限后,您应该能够从 Alice 和 Bob 的工作站访问共享文件夹。但是,他们只能访问共享文件夹中的文件,而无法访问彼此主目录中的文件。

答案3

最后,我必须启用并托管网络的 DNS 才能使其正常工作。

示例:
在 Windows 上映射两个网络驱动器,如下所示

\\192.168.11.1\share001
\\192.168.11.1\share002

但是使用 DNS 时失败

\\alice\share001
\\bob\share002

^ 即使alice&都bob解析为,上述方法也能奏效192.168.11.1

相关内容