Символические ссылки на моем общем ресурсе samba ведут себя не так, как я хочу - в частности, ссылки выглядят так дублировать обычные файлы на клиентскую машину. Раньше это работало (т.е. символические ссылки на сервере выглядели как символические ссылки на клиенте), но в какой-то момент это прекратилось. Я предполагаю, что это как-то связано с версией самбы, но я никогда не находил комбинацию, которая работает.
Возможно ли, чтобы символические ссылки работали "как символические ссылки" на клиентах Samba? Если да, то как?
Вот моя установка.
Сервер: Synology NAS обслуживает общий ресурс через samba
------server smb.conf-------
[global]
unix extensions=no
follow symlinks=yes
wide links=yes
allow insecure wide links=yes
Клиент: Машина Ubuntu 16.04, монтируя общий ресурс с помощью следующей команды
sudo mount -t cifs -o vers=3.0 -o user=<myuser> //server/sharename /mnt/mountpoint
После установки общего ресурса я делаю следующее:
На сервере
$ 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
Очевидно, что это символическая ссылка. Однако, если я тогда сделаю ...
На клиенте
$ 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
Я ожидал символическая ссылка-созданный-на-сервере.txt к похоже на символическую ссылку. Но это не так. Это похоже на дубликат исходного файла - у них даже есть тот же номер inode на клиенте, но не на сервере.
Что здесь происходит? Есть ли способ сделать символические ссылки просто похожими на символические ссылки? Я читал кое-что о проблемах безопасности с samba и символическими ссылками, и я предполагаю, что это могло быть причиной изменения поведения, но я так и не нашел четкого объяснения - и в этом случае меня не волнуют последствия для безопасности.
Чего ты ожидал?
У тебя есть
unix extensions=no
follow symlinks=yes
Что означает, что
Одного только второго варианта, вероятно, будет достаточно, чтобы рассматривать символическую ссылку как обычную ссылку, другими словами, как два имени, которые относятся к одному и тому же файлу.