
Os links simbólicos no meu compartilhamento de samba não estão se comportando da maneira que desejo - especificamente, os links se parecem comduplicar arquivos regularespara a máquina cliente. Isso costumava funcionar (ou seja, links simbólicos no servidor pareciam links simbólicos no cliente), mas em algum momento parou. Então presumo que esteja relacionado de alguma forma com a versão do samba, mas nunca encontrei uma combinação que funcionasse.
É possível fazer com que links simbólicos funcionem "como links simbólicos" em clientes samba? Se sim, como?
Aqui está minha configuração.
Servidor:Synology NAS oferecendo compartilhamento via 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 o compartilhamento com o seguinte comando
sudo mount -t cifs -o vers=3.0 -o user=<myuser> //server/sharename /mnt/mountpoint
Com o compartilhamento montado, eis o que faço a seguir:
No 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
Então, obviamente, isso é um link simbólico. No entanto, se eu fizer isso...
No 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
eu esperavalink simbólico criado no servidor.txtparaparece um link simbólico. Mas isso não acontece. Parece uma duplicata do arquivo original – eles ainda têm o mesmo número de inode no cliente, mas não no servidor.
O que está acontecendo aqui? Existe uma maneira de fazer com que os links simbólicos se pareçam com links simbólicos? Eu li coisas sobre questões de segurança com samba e links simbólicos e imagino que essa possa ser a razão pela qual o comportamento mudou, mas nunca encontrei uma explicação clara – e neste caso não me importo com as implicações de segurança.
Responder1
Você tem
unix extensions=no
follow symlinks=yes
Isso significa que
- O servidor não reportará links
- O servidor seguirá o link simbólico.
A segunda opção por si só é provavelmente suficiente para tratar o link simbólico como um link normal, em outras palavras, como dois nomes que se referem ao mesmo arquivo.