ProFTPD Configuration Directive Terminology

ProFTPD Version 1.2

Each ProFTPD configuration directive is described using a common format that looks like this:

Syntax: directive-name some args
Default: directive-name default-value
Context: context-list
Module: module-name
Compatibility: compatibility notes

Each of the directive's attributes, complete with possible values where possible, are described in this document.

Directive Terms


Syntax

This indicates the format of the directive as it would appear in a configuration file. This syntax is extremely directive-specific, so refer to the text of the directive's description for details.


Default

If the directive has a default value (i.e., if you omit it from your configuration entirely, the ProFTPD FTP server will behave as though you set it to a particular value), it is described here. If there is no default value, this section should say "None".


Context

This indicates where in the server's configuration files the directive is legal. It's a comma-separated list of one or more of the following values:
server config
This means that the directive may be used in the server configuration file (e.g., proftpd.conf) outside of any other context (i.e. not inside a <VirtualHost> or <Global> context). This context defines a "main" or "default" server.

<VirtualHost>
This context means that the directive may appear inside <VirtualHost> sections in the server configuration file.

<Global>
This context means that the directive may appear inside <Global> sections in the server configuration file. This context is used as a shortcut for placing directives with all server contexts (i.e. the "server config" context as well as any <VirtualHost> contexts within the configuration file). Any directives of the same name within those server contexts will have precedence over a <Global> setting.

<Anonymous>
This context means that the directive may appear inside any <Anonymous> sections in the server configuration file. An anonymous context is not a true virtual server, but rather is a context within server context (i.e. "server config", <VirtualHost> or <Global>). Anonymous contexts are automatically chroot()ed. Any configuration directives set for the containing server will be in effect for the anonymous context as well, unless overridden by a directive of the same name within the anonymous context.

<Limit>
This context means that the directive may appear inside any <Limit> sections in the server configuration file. This context is used to place limits on who and how individual FTP commands, or groupings of FTP commands, may be used.

<Directory>
A directive marked as being valid in this context may be used inside <Directory> sections in the server configuration file. This context configures views of the contained files based on the logged-in user's username or group membership, or on the name of the files (e.g. Unix-style "hidden" files), and on whether the user has permission to see the files. By definition, directives set using a .ftpaccess file are considered to be occurring within a <Directory> context.

.ftpaccess
If a directive is valid in this context, it means that it can appear inside per-directory .ftpaccess files. These files are akin to Apache's .htaccess files: parsed-on-the-fly mini-configuration files that users can place within their own directories.

The directive is only allowed within the designated context; if you try to use it elsewhere, you'll get a configuration error that will either prevent the server from handling requests in that context correctly, or will keep the server from operating at all -- i.e., the server won't even start.

The valid locations for the directive are actually the result of a Boolean OR of all of the listed contexts. In other words, a directive that is marked as being valid in "server config, .ftpaccess" can be used in the proftpd.conf file and in .ftpaccess files, but not within any <Directory>, <VirtualHost>, or other contexts.


Module

This quite simply lists the name of the source module which defines the directive.


Compatibility

This usually lists the version in which the directive first appeared.