web-dev-qa-db-fra.com

Comment faire une liste noire de certains répertoires dans Samba?

J'exporte un répertoire via Samba vers mon PC home cinéma. Malheureusement, XBMC affiche également certains répertoires de travail que je partage au sein de ce répertoire.

J'aimerais trouver un moyen de faire en sorte que Samba ignore certains répertoires afin qu'ils ne soient pas partagés avec les autres PC.

Ceci est purement dû à la vanité, la solution n'a donc pas besoin d'être totalement parfaite (une solution de contournement serait donc satisfaisante, elle ne doit pas nécessairement être de qualité production).

8
Jorge Castro

Je pense que veto files est l'option que vous recherchez.

Éditez _/etc/samba/smb.conf_ avec les droits root. Sous le partage particulier _/var/test_, le paramètre suivant exclut tout sous-répertoire ou fichier descendant correspondant à foo ou _*bar*_ (attention, _/_ signifie OU):

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

Ensuite, vous devez redémarrer Samba avec stop et start (pas reload):

_Sudo /etc/init.d/samba stop
Sudo /etc/init.d/samba start
_

Remarque: Les partages créés via l'interface graphique de Nautilus sont définis dans des fichiers individuels dans _/var/lib/samba/usershare_ mais _veto files_ ne peut pas être appliqué à cet emplacement . Si c'est votre cas:

  • Ajoutez soit _veto files_ à la section _[global]_ de _/var/lib/samba/usershare_. Cela affectera toutes vos actions globales.
  • Ou supprimez le fichier de définition de partage existant sous _/var/lib/samba/usershare_ et recréez-le manuellement sous _/etc/samba/smb.conf_. Vous ne pouvez pas copier coller à la place, suivez le guide .
8
RobotHumans

hide files = file1/file2/$*/System Volume Information masque également le dossier du partage

1
twnaing