Each resource directory contains an "Access" control directory which defines which protocols and which users will be allowed access to that resource.
The list may also contain "Authenticate", "FileInfo" and "Index" items which further specify how to authenticate users, how to categorise files, and how to present files in a directory index respectively.
The "Hook" item in the resource's directory allows for customisation of the processing of the request. It can be used as a very fast and more flexible alternative to the HTTP CGI scripting mechanism, and has the added advantage of being protocol independent so that hooks can be written for protocols such as FTP too.
To specify all resources, a single wildcard "*" resource name is used. Resource names can contain the special characters " " (space) and "/" (slash) but not double quotes.
Type | Example | Explanation |
---|---|---|
Disk | e: | Specifies all files and directories on the E drive. |
Directory | e:/pub/ | Specifies all files and directories underneath the pub directory on the E drive. |
/pub/ | Specifies all files and directories underneath the pub directory on any drive. | |
File | *.htm* | Specifies all files with an extension starting with htm, regardless of the drive or directory. |
*/public/ok* | Specifies all files that start with the letters "ok" and which reside in a directory named "public", regardless of which drive and what level in the disk directory hierarchy. |
stop users=joe hosts=12.34.56.78
users= hosts=12.34.
negate users= hosts=12.34.56.78
would allow "joe" access from the IP address "12.34.56.78", but deny
everybody else from that IP address, while allowing all users access
from the IP address set "12.34.*.*" so long as they are not at the
IP address "12.34.56.78". If the "Stop" had not been used on
the first pattern, then the first pattern would have been ignored
because it would have been overridden by the final pattern.
If you start the server without any configuration file, it will automatically create the necessary resources, templates and user databases to allow you to operate the server.
Config:/Security/Resource/*/ | ||||
---|---|---|---|---|
Setting | Explanation | Default / Example | Data Type | Access R,W,A,D |
Override |
Set to FALSE to disregard any subsequent rules that match this resource.
This is equivalent to setting all the other "Override" variables to FALSE. Set to TRUE and selectively enable the other "Override" variables if you wish to allow subsequent rules to modify the security specification found in this rule. | Yes | Integer | R,W |
OverrideAuthenticate | Set to TRUE to allow overrides of Authenticate/ variables in subsequent rules. | Yes | Integer | R,W |
OverrideFileInfo | Set to TRUE to allow overrides of FileInfo/ variables in subsequent rules. | Yes | Integer | R,W |
OverrideHook | Set to TRUE to allow overrides of Hook/ variables in subsequent rules. | Yes | Integer | R,W |
OverrideIndex | Set to TRUE to allow overrides of Index/ variables in subsequent rules. | Yes | Integer | R,W |
OverrideAccess | Set to TRUE to allow overrides of Access/ variables in subsequent rules. | Yes | Integer | R,W |
Template |
The name of the template to apply instead of the settings in this
directory and its sub-directories. Templates are found under the
Security/Template directory. If you have a set of security settings that you have already defined for a resource, but wish to use for other resources, you can either copy those settings to each of the resources, or set up a template by copying the settings to the "Security/Template" directory and then simply naming the template in each of the "Security/Resource" definitions. This means that any change to the template will be automatically propagated to each of the resources that refer to it. If you wish to selectively apply settings from several templates, leave this variable empty and set the individual "TemplateXX" variables. | Default | Text | R,W |
TemplateAuthenticate | Use the given template's Authenticate/ variables. | (none) | Text | R,W |
TemplateFileInfo | Use the given template's FileInfo/ variables, excluding the sub-directories containing the MIME definitions. | (none) | Text | R,W |
TemplateFileInfoLists | Use the given template's FileInfo/*/ sub-directories which specify MIME types but don't use the top-level variables specifying the Welcome page, etc. | (none) | Text | R,W |
TemplateHook | Use the given template's Hook/ variables. | (none) | Text | R,W |
TemplateIndex | Use the given template's Index/ variables, excluding the file pattern lists for items such as descriptions, attaching icons, etc. | (none) | Text | R,W |
TemplateIndexLists | Use the given template's Index/*/ sub-directories for items such as descriptions, attaching icons, etc, but don't use the top-level variables specifying the Readme file, etc. | (none) | Text | R,W |
TemplateAccess | Use the given template's Access/ variables. | (none) | Text | R,W |