1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
5 >Stackable VFS modules</TITLE
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
11 TITLE="SAMBA Project Documentation"
12 HREF="samba-howto-collection.html"><LINK
14 TITLE="Optional configuration"
15 HREF="optional.html"><LINK
17 TITLE="Passdb XML plugin"
18 HREF="pdb-xml.html"><LINK
20 TITLE="Storing Samba's User/Machine Account information in an LDAP Directory"
21 HREF="samba-ldap-howto.html"></HEAD
32 SUMMARY="Header navigation table"
41 >SAMBA Project Documentation</TH
63 HREF="samba-ldap-howto.html"
76 NAME="VFS">Chapter 18. Stackable VFS modules</H1
82 NAME="AEN2640">18.1. Introduction and configuration</H1
84 >Since samba 3.0, samba supports stackable VFS(Virtual File System) modules.
85 Samba passes each request to access the unix file system thru the loaded VFS modules.
86 This chapter covers all the modules that come with the samba source and references to
87 some external modules.</P
89 >You may have problems to compile these modules, as shared libraries are
90 compiled and linked in different ways on different systems.
91 They currently have been tested against GNU/linux and IRIX.</P
93 >To use the VFS modules, create a share similar to the one below. The
94 important parameter is the <B
97 > parameter which must point to
98 the exact pathname of the shared library objects. For example, to log all access
99 to files and use a recycle bin:
102 CLASS="PROGRAMLISTING"
104 comment = Audited /data directory
106 vfs object = /path/to/audit.so /path/to/recycle.so
108 browseable = yes</PRE
111 >The modules are used in the order they are specified.</P
113 >Further documentation on writing VFS modules for Samba can be found in
114 the Samba Developers Guide.</P
121 NAME="AEN2649">18.2. Included modules</H1
127 NAME="AEN2651">18.2.1. audit</H2
129 >A simple module to audit file access to the syslog
130 facility. The following operations are logged:
142 >connect/disconnect</TD
146 >directory opens/create/remove</TD
150 >file open/close/rename/unlink/chmod</TD
163 NAME="AEN2659">18.2.2. recycle</H2
165 >A recycle-bin like modules. When used any unlink call
166 will be intercepted and files moved to the recycle
167 directory instead of beeing deleted.</P
176 >vfs_recycle_bin:repository</DT
182 >vfs_recycle_bin:keeptree</DT
188 >vfs_recycle_bin:versions</DT
194 >vfs_recycle_bin:touch</DT
200 >vfs_recycle_bin:maxsize</DT
206 >vfs_recycle_bin:exclude</DT
212 >vfs_recycle_bin:exclude_dir</DT
218 >vfs_recycle_bin:noversions</DT
232 NAME="AEN2696">18.2.3. netatalk</H2
234 >A netatalk module, that will ease co-existence of samba and
235 netatalk file sharing services.</P
237 >Advantages compared to the old netatalk module:
245 >it doesn't care about creating of .AppleDouble forks, just keeps ones in sync</TD
249 >if share in smb.conf doesn't contain .AppleDouble item in hide or veto list, it will be added automatically</TD
263 NAME="AEN2703">18.3. VFS modules available elsewhere</H1
265 >This section contains a listing of various other VFS modules that
266 have been posted but don't currently reside in the Samba CVS
267 tree for one reason ot another (e.g. it is easy for the maintainer
268 to have his or her own CVS tree).</P
270 >No statemets about the stability or functionality any module
271 should be implied due to its presence here.</P
277 NAME="AEN2707">18.3.1. DatabaseFS</H2
280 HREF="http://www.css.tayloru.edu/~elorimer/databasefs/index.php"
282 >http://www.css.tayloru.edu/~elorimer/databasefs/index.php</A
286 HREF="mailto:elorimer@css.tayloru.edu"
291 >I have created a VFS module which implements a fairly complete read-only
292 filesystem. It presents information from a database as a filesystem in
293 a modular and generic way to allow different databases to be used
294 (originally designed for organizing MP3s under directories such as
295 "Artists," "Song Keywords," etc... I have since applied it to a student
296 roster database very easily). The directory structure is stored in the
297 database itself and the module makes no assumptions about the database
298 structure beyond the table it requires to run.</P
300 >Any feedback would be appreciated: comments, suggestions, patches,
301 etc... If nothing else, hopefully it might prove useful for someone
302 else who wishes to create a virtual filesystem.</P
309 NAME="AEN2715">18.3.2. vscan</H2
312 HREF="http://www.openantivirus.org/"
314 >http://www.openantivirus.org/</A
317 >samba-vscan is a proof-of-concept module for Samba, which
318 uses the VFS (virtual file system) features of Samba 2.2.x/3.0
319 alphaX. Of couse, Samba has to be compiled with VFS support.
320 samba-vscan supports various virus scanners and is maintained
330 SUMMARY="Footer navigation table"
350 HREF="samba-howto-collection.html"
359 HREF="samba-ldap-howto.html"
369 >Passdb XML plugin</TD
383 >Storing Samba's User/Machine Account information in an LDAP Directory</TD