Como aninhar e compartilhar vários pools ZFS no Samba para vários usuários

Como aninhar e compartilhar vários pools ZFS no Samba para vários usuários

Eu tenho a seguinte estrutura 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 desempenho e armazenamento, zpool1não zpool2compartilhe nenhum disco. Quero que Bob e Alice acessem media_root. Porém, Bob e Alice não têm permissão para acessar os arquivos um do outro.

  1. Não consigo compartilhar /zshare/zpool1/home como uma pasta porque ele pertence à partição raiz, que é pequena e se Alice ou Bob quisessem copiar algo maior que 60 Gb para sua pasta, falharia com "espaço insuficiente", mesmo que seu a pasta inicial contém (o Windows calcula o espaço da unidade que hospeda a pasta compartilhada SMB).
  2. Não consigo compartilhar duas pastas com as estações de trabalho de ambos os usuários, porque o Windows não permite montar várias unidades de rede a partir do mesmo endereço IP...
  3. Não consigo criar um link simbólico media_rootpara /alicee /bobporque no Windows ele não seguirá o link simbólico e não consigo fazer com que os hardlinks funcionem nos sistemas de arquivos Z.

Eu realmente não quero duplicar todos os arquivos em media_rootuma subpasta para Alice e Bob e usar um rsync estilo crontab para mantê-los atualizados entre si e no zpool2, mas que outras opções existem?

Tenho certeza de que existe alguma maneira de fazer isso acontecer com o ZFS no Ubuntu 20.04, mas COMO?

EDIT: A rede em questão NÃO possui DNS.

Responder1

Não consigo compartilhar duas pastas com as estações de trabalho de ambos os usuários, porque o Windows não permite montar várias unidades de rede a partir do mesmo endereço IP...

Isso não é verdade. Você pode montar quantas unidades de rede (deepara a mesma máquina) pois você tem cartas grátis. Você pode até usar caminhos UNC simples ou montar nomes de caminhos profundos (como net use t: \\server\share\bobs\eyes\only). Basta criar os compartilhamentos necessários e usá-los adequadamente.

Porém, Bob e Alice não têm permissão para acessar os arquivos um do outro.

Esta é uma questão de permissões de arquivo/pasta.

Responder2

Eu acho que... uma maneira de fazer isso seria configurar um grupo para os usuários que deveriam ter acesso à pasta compartilhada e, em seguida, definir as permissões na pasta compartilhada para que apenas os membros desse grupo possam acessá-la.

Por exemplo, você poderia criar um grupo chamado "media_access" e adicionar Alice e Bob a ele. Em seguida, você pode definir as permissões na pasta media_root para que apenas membros do grupo media_access possam acessá-la. Para fazer isso, você executaria o seguinte comando:

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

Isso mudará a propriedade do grupo da pasta media_root para o grupo media_access e concederá aos membros desse grupo permissões de leitura, gravação e execução na pasta.

Depois de definir as permissões, você poderá acessar a pasta compartilhada nas estações de trabalho de Alice e Bob. No entanto, eles só poderão acessar os arquivos que estão na pasta compartilhada e não poderão acessar os arquivos uns dos outros em seus próprios diretórios pessoais.

Responder3

No final, tive que habilitar e hospedar o DNS da rede para que funcionasse.

Exemplo:
mapeando duas unidades de rede no Windows conforme abaixo

\\192.168.11.1\share001
\\192.168.11.1\share002

falha, no entanto, ao usar DNS

\\alice\share001
\\bob\share002

^ o acima funciona, mesmo que ambos alice& bobresolvam 192.168.11.1.

informação relacionada