Q : How does the Virtual filesystem (VFS) work

A virtual file system allows you to take your existing file structure (like c:\, e:\, h:\, plus subdirectories, etc) and customize its appearance to the users of your ftp. It's akin to mapping and links, but transparent.
Configuring your VFS

Inside the RaidenFTPD GUI, choose VIRTUAL FILE SYSTEM from the SETUP menu.

The first step is to browse for your root directory (or simply type the path into the PHYSICAL PATH box. Once this is done, you must enter the mount point in the VIRTUAL PATH box (/ for the root mount point). Set the appropriate access control properties for the directory and click ADD. Repeat for each directory you want your users to see (as appropriate). Give special attention to the Read/Write/Execute permissions! Save and exit when you are finished.

Modifying your VFS

RaidenFTPD saves the virtual file system as a *.vfs, and may be edited with a text editor or the GUI editor.

The general format of an entry in the VFS file follows:

physicalpath|virtualpath|owner|group|permission_mode|recursive|quotamb|speedlim|ulspeed|dlspeed|dupecheck|nostat|nositewho|freedl

Where:

physicalpath: can be a drive letter (ex. c:), a directory name (ex. c:\temp), or a shared directory on a networked machine (UNC) (ex. \\ANTHLON800\HDD01). virtualpath: the full virtual pathname (ex. /, /tmp, /mount/cdrom0, /mount/cdrom1), and MUST have the preceding / as shown in the examples. Paths such as "tmp" or "mount/cdrom1" are not valid virtual pathnames. Please be aware that the virtual pathname must correspond to an empty directory inside the VFS root mount point. If your VFS maps c:\temp to / (which is known as the root directory), and you wish to mount D:\temp to /tmp, you will need to create the empty directory "tmp" under c:\temp (in other words, c:\temp\tmp must exist)
owner: a string value less than 32 characters in length. It does not necessarily need to be a valid/existing user (ex. root), and may be a variable in certain situations. group: a string value less than 32 characters in length. It does not necessarily beed to be a valid/existing group (ex. mygroup), and may be a variable in certain situations.
permission_mode: a 3-digit number, where each digit may range from 0 to 7 in the typical chmod fashion (ex. 700, 750, 777, etc.). If you are unfamiliar with this setting, use the GUI editor RaidenWiz.EXE, or consult the chmod docs in this manual. recursive: a single character string. This must be set to r to enable.
quotamb: disk quota allowed under this virtual path in MB (mega bytes) speedlim: set to 1 to enable speed limit under this virtual path
ulspeed: the upload speed limit in kb/s dlspeed: the download speed limit in kb/s
dupecheck: enable dupe checking under this virtual path nostat: do not count upload/download stats under this virtual path
freedl: allowing users to download freely without credit under this virtual path  

VFS syntax examples

h:|/UNIVERSAL/SONY-48X|root|mygroup|550|r|0|0|0|0|0|0|0|0|

d:\_Vftpd_Root|/|root|mygroup|775|r|0|0|0|0|0|0|0|0|

 

To have the first mount point working, you will need to create the following empty directories in your hard drive:

d:\_Vftpd_Root\UNIVERSAL (maps to / , the root of ftpd)

d:\_Vftpd_Root\UNIVERSAL\SONY-48X (maps to /UNIVERSAL/SONY-48X)

Copyright © RaidenFTPD TEAM , ALL RIGHT RESERVED

REVISION 2.4 , 2002/10/16