在samba和Windows客户端混合的网络环境中,基于文件扩展名来限制文件访问是非常有效的一种方法。这种方法通常的作用是禁止访问那些被木马或者病毒感染的系统的上那些文件。

在samba的配置文件smb.conf文件中,有一个叫veto file的参数用来列出禁止看到和访问的文件或者目录列表。列表中的每个字符串用"/"分隔开。在指定多个文件和目录的时候,可以使用通配符 "*"或者“?”。

但是如果一个包含着veto file的目录要删除了,则需要设置veto files 参数设置为yes。

下面是一个禁止查看和访问.exe,.dll,.com扩展名的示例:

veto files = /*.exe/*.dll/*.com/

有一个和veto file类似的一个参数可以用来隐藏文件,但是区别是隐藏文件仍然可以被访问。

下面是隐藏文件选项的示例:

hide files = /*.exe/*.dll/*.com/

同时需要注意的是,如果在Samba中开启了扫描所有文件和目录的字符串匹配,可能会对Samba服务的性能有一些影响。