Как я могу внести в черный список определенные каталоги в Samba?

8

Я экспортирую каталог через Samba на свой домашний кинотеатр. К сожалению, XBMC также отображает некоторые рабочие каталоги, которыми я делюсь внутри этого каталога.

Я хотел бы найти способ заставить Samba игнорировать определенные каталоги, чтобы они не использовались другими компьютерами.

Это чисто из соображений тщеславия, поэтому решение не обязательно должно быть совершенным (поэтому обходной путь может быть хорошим, это не должно быть качеством производства)

Хорхе Кастро
источник

Ответы:

8

Я думаю, veto filesчто это вариант, который вы ищете.

Редактировать /etc/samba/smb.confс правами root. В конкретном общем ресурсе /var/testследующий параметр исключит любой дочерний подкаталог или соответствующий файл fooили *bar*(остерегайтесь, /означает ИЛИ ):

[myshare]
  path = /var/test
  veto files = /foo/*bar*/

Затем вам нужно перезапустить Samba с помощью stopи start(не reload):

sudo /etc/init.d/samba stop
sudo /etc/init.d/samba start

Примечание. Общие ресурсы, созданные с помощью графического интерфейса Nautilus, определены в отдельных файлах, /var/lib/samba/usershareно veto files не могут применяться там . Если это ваш случай:

  • Либо добавить veto filesв [global]раздел /var/lib/samba/usershare. Это повлияет на все ваши глобальные акции.
  • Или удалите существующий файл определения общего ресурса в /var/lib/samba/usershareи заново создайте его вручную в /etc/samba/smb.conf. Вы не можете скопировать вставить; вместо этого следуйте руководству .
RobotHumans
источник
2
Символ /в veto filesшаблоне не является разделителем каталогов. В приведенном выше примере, если вы добавите /в конце , чтобы сделать его синтаксический правильно, любые файлы или каталоги с именем либо var, testили privateбудете скрыты.
Ларс Хаугсет
samba может читать списки в "файлах вето"? serverfault.com/questions/923647/…
ajcg
1

hide files = file1/file2/$*/System Volume Information также скрывает папку от общего ресурса

Tun
источник