Wie kann ich bestimmte Verzeichnisse in Samba auf die schwarze Liste setzen?

8

Ich exportiere ein Verzeichnis über Samba auf meinen Heimkino-PC. Leider zeigt XBMC auch einige Arbeitsverzeichnisse an, die ich gerade in diesem Verzeichnis freigebe.

Ich möchte einen Weg finden, wie Samba bestimmte Verzeichnisse ignoriert, damit sie nicht mit den anderen PCs geteilt werden.

Dies ist nur aus Eitelkeitsgründen so, dass die Lösung nicht unbedingt perfekt sein muss (eine Problemumgehung wäre also in Ordnung, es muss nicht die Produktionsqualität sein).

Jorge Castro
quelle

Antworten:

8

Ich denke, veto filesist die Option, die Sie suchen.

/etc/samba/smb.confMit Root-Rechten bearbeiten . Unter der bestimmten Freigabe /var/testschließt die folgende Einstellung alle untergeordneten Unterverzeichnisse oder Dateivergleiche aus foooder *bar*(Vorsicht, /bedeutet ODER ):

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

Dann müssen Sie Samba neu starten mit stopund start(nicht reload):

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

Hinweis: Über die Nautilus-Benutzeroberfläche erstellte Freigaben werden in einzelnen Dateien in definiert /var/lib/samba/usershare, veto files können dort jedoch nicht angewendet werden . Wenn es dein Fall ist:

  • Fügen Sie entweder veto filesdem [global]Abschnitt von hinzu /var/lib/samba/usershare. Dies wirkt sich auf alle Ihre globalen Anteile aus.
  • Oder löschen Sie die vorhandene Freigabedefinitionsdatei unter /var/lib/samba/usershareund erstellen Sie sie manuell unter neu /etc/samba/smb.conf. Sie können nicht kopieren und einfügen. Folgen Sie stattdessen der Anleitung .
RobotHumans
quelle
2
Das /Zeichen im veto filesMuster ist kein Verzeichnistrennzeichen. Im obigen Beispiel werden /alle Dateien oder Verzeichnisse, die entweder benannt varsind testoder privateausgeblendet werden , vorausgesetzt, Sie fügen am Ende ein hinzu, damit es syntaktisch korrekt ist .
Lars Haugseth
Samba kann Listen in "Vetodateien" lesen? serverfault.com/questions/923647/…
ajcg
1

hide files = file1/file2/$*/System Volume Information versteckt auch den Ordner vor der Freigabe

Tun
quelle