Cómo anidar y compartir múltiples grupos ZFS a través de Samba con múltiples usuarios

Cómo anidar y compartir múltiples grupos ZFS a través de Samba con múltiples usuarios

Tengo la siguiente estructura 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

Por motivos de rendimiento y almacenamiento, zpool1no zpool2comparta ningún disco. Quiero que tanto Bob como Alice accedan media_root. Sin embargo, Bob y Alice no pueden acceder a los archivos de cada uno.

  1. No puedo compartir /zshare/zpool1/home como una carpeta porque pertenece a la partición raíz, que es pequeña y si Alice o Bob quisieran copiar algo mayor a 60 Gb en su carpeta, fallaría porque "no hay suficiente espacio" a pesar de que su La carpeta de inicio lo tiene (Windows calcula el espacio de la unidad que aloja la carpeta compartida SMB).
  2. No puedo compartir dos carpetas con las estaciones de trabajo de ambos usuarios porque Windows no permite montar varias unidades de red desde la misma dirección IP...
  3. No puedo media_rootestablecer un enlace simbólico /alicey /bobporque en Windows no seguirá el enlace simbólico y parece que no puedo hacer que los enlaces duros funcionen en los sistemas de archivos Z.

Realmente REALMENTE no quiero duplicar todos los archivos en media_rootuna subcarpeta para Alice y Bob, y usar un rsync estilo crontab para mantenerlos actualizados entre sí y en zpool2, pero ¿qué otras opciones hay?

Estoy seguro de que hay alguna manera de hacer que esto suceda con ZFS en Ubuntu 20.04, pero ¿CÓMO?

EDITAR: La red en cuestión NO tiene DNS.

Respuesta1

No puedo compartir dos carpetas con las estaciones de trabajo de ambos usuarios porque Windows no permite montar varias unidades de red desde la misma dirección IP...

Esto no es verdad. Puede montar tantas unidades de red (desdeya la misma máquina) ya que tienes letras gratis. Incluso podría usar rutas UNC simples o montar nombres de rutas incluso profundos (como net use t: \\server\share\bobs\eyes\only). Simplemente cree los recursos compartidos que necesita y utilícelos en consecuencia.

Sin embargo, Bob y Alice no pueden acceder a los archivos de cada uno.

Esta es una cuestión de permisos de archivos/carpetas.

Respuesta2

Creo... una forma de hacer esto sería configurar un grupo para los usuarios que deberían tener acceso a la carpeta compartida y luego configurar los permisos en la carpeta compartida para que solo los miembros de ese grupo puedan acceder a ella.

Por ejemplo, podrías crear un grupo llamado "media_access" y agregarle a Alice y Bob. Luego, puede configurar los permisos en la carpeta media_root para que solo los miembros del grupo media_access puedan acceder a ella. Para hacer esto, ejecutaría el siguiente comando:

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

Esto cambiará la propiedad del grupo de la carpeta media_root al grupo media_access y otorgará a los miembros de ese grupo permisos de lectura, escritura y ejecución en la carpeta.

Después de configurar los permisos, debería poder acceder a la carpeta compartida desde las estaciones de trabajo de Alice y Bob. Sin embargo, solo podrán acceder a los archivos que estén en la carpeta compartida y no podrán acceder a los archivos de los demás en sus propios directorios personales.

Respuesta3

Al final tuve que habilitar y alojar DNS para que la red funcionara.

Ejemplo:
mapear dos unidades de red en Windows como se muestra a continuación

\\192.168.11.1\share001
\\192.168.11.1\share002

falla, sin embargo, cuando se utiliza DNS

\\alice\share001
\\bob\share002

^ lo anterior funciona, incluso si ambos alice& bobresuelven hacerlo 192.168.11.1.

información relacionada