Назад | Перейти на главную страницу

Как избежать того, чтобы файлы с символическими ссылками, используемые Samba, выглядели как повторяющиеся файлы (разные номера inode)?

У меня часто есть каталоги на сервере Linux, где символические ссылки используются для альтернативных имен подкаталогов или файлов (например, поддержание «последней» символической ссылки на каталог с последней версией, но также и для таких вещей, как «Philips», связывающееся с «NXP /». Исторический ") ... но при просмотре клиентами Samba (при условии, что разрешено следовать символическим ссылкам) нет намека на то, что файлы в этих каталогах на самом деле одинаковы ... даже номера inode (когда их видит другой клиент Linux, использующий самба поделитесь) заставить их выглядеть по-другому.

Меня беспокоит, что кто-то (или приложение для автоматического удаления дубликатов) может попытаться удалить одну «копию», думая, что есть еще один файл с тем же содержимым, но удаление одного приведет к удалению обе копий, потому что это действительно один и тот же файл. Я действительно хочу разрешить доступ для чтения / записи к этим файлам, но уменьшить вероятность ошибок. Пока все, что я могу придумать, это сказать smb.conf не разрешать никаких символических ссылок, но, возможно, я бы хотел, чтобы символические ссылки выглядели как ярлыки для клиентов Windows (что, я думаю, невозможно). Большинство людей могут быть осторожны в очевидных случаях, таких как "последний" каталог, но когда есть много ссылок в общей области (и пользователи, правильно, периодически пытаются удалить бесполезные файлы), существует необходимость уменьшить вероятность глупых ошибок. Любые идеи?

К сожалению, я думаю, что это невозможно. Файлы Windows LNK - это небольшие двоичные файлы, которые содержат путь к истинной цели, в то время как символическая ссылка Linux работает на более низком уровне (libc). Это означает, что Samba должна на лету «переводить» символическую ссылку Linux в файлы LNK; хотя теоретически возможно с модулем VFS, такого модуля не существует (насколько я понимаю).

Лучшее, что вы можете сделать, - это запретить доступ к символическим ссылкам с помощью follow symlinks = no в вашем определении доли.