mod_unique_id
The mod_unique_id
module attempts to generate a unique ID for
every FTP session. To make the ID unique across multiple servers, the
following bits of information are used:
UNIQUE_ID
environment variable
in a printable form; other modules can retrieve the unique session ID from the
environment. (Note that you will want mod_unique_id
listed toward
the end of your --with-modules
configure list, so that the
ID generation runs early in the session establishment process.) The contents
of the UNIQUE_ID
should be considered opaque, and are subject
to change in the future.
This module is contained in the mod_unique_id
file for
ProFTPD 1.3.x, and is not compiled by default. Installation
instructions are discussed here.
The most current version of
Please contact TJ Saunders <tj at castaglia.org> with any
questions, concerns, or suggestions regarding this module.
The
By default,
Alternatively, if your proftpd was compiled with DSO support, you can
use the
Since
Example configuration:
mod_unique_id
is distributed with
the proftpd
source code.
Author
Directives
UniqueIDEngine
Syntax: UniqueIDEngine on|off
Default: on
Context: "server config"
Module: mod_unique_id
Compatibility: 1.3.1rc1 and later
UniqueIDEngine
directive enables or disables the module's
generation of a unique ID for each FTP session.
UniqueIDEngine
is on.
Installation
To install mod_unique_id
, copy the mod_unique_id.c
file into:
proftpd-dir/contrib/
after unpacking the latest proftpd-1.3.x source code. For including
mod_unique_id
as a staticly linked module:
./configure --with-modules=mod_unique_id
Alternatively, mod_unique_id
could be built as a DSO module:
./configure --with-shared=mod_unique_id
Then follow the usual steps:
make
make install
prxs
tool to build mod_unique_id
as a shared
module:
prxs -c -i -d mod_unique_id.c
Usage
mod_unique_id
generates a new unique ID for each session
by default, there is no special configuration needed for enabling the
module. Taking advantage of mod_unique_id
, however, requires
some adjustments in other parts of your proftpd.conf
.
<IfModule mod_unique_id.c>
# Include the unique session ID in an ExtendedLog
LogFormat session "%{UNIQUE_ID}e %h %l %u %t \"%r\" %s %b"
ExtendedLog /path/to/extended.log ALL session
# Store the unique ID in a SQL table named 'ftpsessions'
SQLLog PASS login
SQLNamedQuery login INSERT "'%{env:UNIQUE_ID}', '%u', now()" ftpsessions
</IfModule>
Author: $Author: castaglia $
Last Updated: $Date: 2013-08-14 21:40:18 $
© Copyright 2006-2013 TJ Saunders
All Rights Reserved