
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, zpool1
no zpool2
comparta 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.
- 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).
- 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...
- No puedo
media_root
establecer un enlace simbólico/alice
y/bob
porque 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_root
una 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
& bob
resuelven hacerlo 192.168.11.1
.