
Los enlaces simbólicos en mi recurso compartido de samba no se comportan como quiero; específicamente, los enlaces se ven asíduplicar archivos regularesa la máquina cliente. Esto solía funcionar (es decir, los enlaces simbólicos en el servidor parecían enlaces simbólicos en el cliente), pero en algún momento se detuvo. Así que supongo que está relacionado de alguna manera con la versión de samba, pero nunca encontré una combinación que funcione.
¿Es incluso posible hacer que los enlaces simbólicos funcionen "como enlaces simbólicos" en clientes samba? ¿Si es así, cómo?
Aquí está mi configuración.
Servidor:Synology NAS que ofrece un recurso compartido a través de samba
------server smb.conf-------
[global]
unix extensions=no
follow symlinks=yes
wide links=yes
allow insecure wide links=yes
Cliente:Máquina Ubuntu 16.04, montando el recurso compartido con el siguiente comando
sudo mount -t cifs -o vers=3.0 -o user=<myuser> //server/sharename /mnt/mountpoint
Con el recurso compartido montado, esto es lo que hago a continuación:
en el servidor
$ echo "HELLO WORLD" > file-created-on-server.txt
$ ln -s file-created-on-server.txt symlink-created-on-server.txt
$ ls -iog
75852 -rwxrwxrwx+ 1 12 Jul 19 20:16 file-created-on-server.txt
75859 lrwxrwxrwx+ 1 25 Jul 19 20:53 symlink-created-on-server.txt -> file-created-on-server.txt
Obviamente eso es un enlace simbólico. Sin embargo, si luego lo hago...
en el cliente
$ ls -iog
total 8
75852 -rwxr-xr-x 1 12 Jul 19 21:16 file-created-on-server.txt
75852 -rwxr-xr-x 1 12 Jul 19 21:16 symlink-created-on-server.txt
Esperabaenlace simbólico creado en el servidor.txtaparece un enlace simbólico. Pero no es así. Parece un duplicado del archivo original; incluso tienen el mismo número de inodo en el cliente, pero no en el servidor.
¿Que esta pasando aqui? ¿Hay alguna manera de hacer que los enlaces simbólicos parezcan enlaces simbólicos? He leído cosas sobre problemas de seguridad con samba y enlaces simbólicos, e imagino que esa podría ser la razón por la que el comportamiento cambió, pero nunca encontré una explicación clara – y en este caso no me importan las implicaciones de seguridad.
Respuesta1
Tienes
unix extensions=no
follow symlinks=yes
Eso significa que
- El servidor no reportará enlaces
- El servidor seguirá el enlace simbólico.
La segunda opción por sí sola probablemente sea suficiente para tratar el enlace simbólico como un enlace normal, en otras palabras, como dos nombres que hacen referencia al mismo archivo.