Os links simbólicos parecem arquivos normais em compartilhamentos do samba

Os links simbólicos parecem arquivos normais em compartilhamentos do samba

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

  1. O servidor não reportará links
  2. 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.

informação relacionada