How to configure iFTPd
The Virtual File System (VFS)
How does the virtual file system work?
The VFS maps physical files/directories to virtual equivalents that the user then sees. This mapping is completely transparent.
The VFS can, for example, map the directory "/stash/music/" to "/mp3".
The end user will se only /mp3/ and all files directory that exist in "/stash/music/"
will exist in "/mp3". If you use the same virtual target for several rules, the physical targets will all
be merged into the same virtual target.
VFS rules are defined in two places: primarily in the group file(s) and secondarily in the user's conf file.
Example of a VFS rule
"/stash/movies/divx/" r+ "/movies/" |
||
|---|---|---|
"/stash/movies/divx/" |
The physical target (file/dir) as it exists on disk. | |
r+ |
Access mode. Possible modes are readable, writeable and resursive(+). | |
"/movies/" |
Virtual target (file/dir) as the user will see it. | |
Modules
module: StatusToHTML
The StatusToHTML module dumps the status information of the server and all online users to an HTML file.
The file used is set in the conf/statustohtml.conf file.
StatusToHTML works by parsing several html files, found in conf/statustohtml/, into one resulting
HTML file. It replaces specific keywords in the .html files with variables taken from the server and user statistics.
The keyword #ONLINECOUNT#, for example, is replaced with the number of users currently online.
There are four .html files the module parses, 1 and 4 are parsed only once while 2/3 are parsed as many times as there are users online.
header.htmlis the header file. It is parsed once and placed at the top of the resulting .html file.normalentry.htmlis the html file used when the user is not transferring files. Typical non-transfer actions are "logging in" and "idle".transferentry.htmlis the html file used when the user is transferring files. The transferentry has more keywords available than normalentry.footer.htmlis the footer file. It is parsed once and placed at the end of the resulting .html file.
The reason for having two types of entries is because the two types of entries relay different types of information and require a different presentations.
Keywords
Global (available for all four types of html files)
| SERVERNAME | The name of the server, found in conf/iftpd.conf. |
| ONLINECOUNT | Number of users currently online. |
| CONNECTIONCOUNT | How many users have connected to the server in this session. |
| SERVERSTARTEDDATE | Date server was started as YYYY-MM-DD |
| SERVERSTARTEDTIME | Date server was started as HH:MM:SS |
| SERVERONLINE | Time in HH:MM:SS the server has been on. |
| AUTOBYTESUPLOADEDTOTAL | The amount of giga/mega/kilo/bytes the users have uploaded this session. |
| AUTOBYTESDOWNLOADEDTOTAL | The amount of giga/mega/kilo/bytes the users have downloaded this session. |
| FILESUPLOADEDTOTAL | The number of files the users have uploaded this session. |
| FILESDOWNLOADEDTOTAL | The number of files the users have downloaded this session. |
NormalEntry and TransferEntry
| USERNAME | The name of the user. |
| TIMEONLINE | How long the user has been online as HH:MM:SS |
| LOGONDATE | The time the user logged on as YYYY-MM-DD. |
| LOGONTIME | The time the user logged on as HH:MM:SS. |
| IP | The IP of the user (207.46.130.108). |
| FQDN | The fully qualified domain name of the user (www.googleisasellout.com). |
| ACTIONVERB | A word, preferrably only one, describing the action of the user. |
| ACTIONDETAILS | A detailed description of what the user is doing. |
| FILESUPLOADED | How many files the user has uploaded. |
| FILESDOWNLOADED | How many files the user has downloaded. |
| AUTOBYTESUPLOADED | The amount of giga/mega/kilo/bytes the user had uploaded. |
| AUTOBYTESDOWNLOADED | The amount of giga/mega/kilo/bytes the user had downloaded. |
| ABORTS | How many times the user has aborted transfers. |
TransferEntry only
| FILENAME | The complete name of the file being transferred. |
| AUTOFILESIZE | The size of the file in giga/mega/kilo/bytes. |
| DIRECTION | The direction of the transfer, either UPLOADING or DOWNLOADING. |
| AUTOBYTESTRANSFERRED | How many giga/mega/kilo/bytes have been transferred. |
| PERCENTCOMPLETE | The percentage of completion of the file transfer, without the percent sign. |
