Символические ссылки выглядят как обычные файлы на общих ресурсах Samba

Символические ссылки выглядят как обычные файлы на общих ресурсах Samba

Символические ссылки на моем ресурсе Samba ведут себя не так, как мне бы хотелось, в частности, ссылки выглядят так:дублировать обычные файлына клиентскую машину. Раньше это работало (т. е. симлинки на сервере выглядели как симлинки на клиенте), но в какой-то момент перестало. Так что я предполагаю, что это как-то связано с версией 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квыглядит как символическая ссылка. Но это не так. Похоже на дубликат оригинального файла — у них даже одинаковый номер инода на клиенте, но не на сервере.

Что здесь происходит? Есть ли способ сделать так, чтобы символические ссылки выглядели как символические ссылки? Я читал о проблемах безопасности с samba и символическими ссылками, и я предполагаю, что это может быть причиной изменения поведения, но я так и не нашел четкого объяснения – и в этом случае меня не волнуют последствия для безопасности.

решение1

У вас есть

unix extensions=no
follow symlinks=yes

Что означает, что

  1. Сервер не будет сообщать о ссылках
  2. Сервер перейдет по символической ссылке.

Вероятно, второго варианта будет достаточно, чтобы рассматривать символическую ссылку как обычную ссылку, другими словами, как два имени, ссылающихся на один и тот же файл.

Связанный контент