
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, zpool1
não zpool2
compartilhe 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.
- 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).
- 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...
- Não consigo criar um link simbólico
media_root
para/alice
e/bob
porque 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_root
uma 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
& bob
resolvam 192.168.11.1
.