mod_copy
The mod_copy module implements SITE CPFR
and SITE CPTO commands (analogous to RNFR and
RNTO), which can be used to copy files/directories from one place
to another on the server without having to transfer the data to the client and
back.
This module is contained in the mod_copy.c file for
ProFTPD 1.3.x, and is not compiled by default. Installation
instructions are discussed here.
The most current version of mod_copy is distributed with the
ProFTPD source code.
Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this module.
SITE Commands
<VirtualHost>, <Global>
The CopyEngine directive enables or disables the module's
handling of SITE COPY et al commands. If it is set to
off this module ignores these commands.
SITE command specifies the source file/directory to use
for copying from one place to another directly on the server.
The syntax for SITE CPFR is:
SITE CPFR source-path
See also: SITE CPTO
SITE command specifies the destination file/directory to use
for copying from one place to another directly on the server.
The syntax for SITE CPTO is:
SITE CPTO destination-path
A client wishing to copy a file/directory first sends a SITE CPFR
command, then a SITE CPTO; this is similar to how renames are
handled using RNFR and RNTO.
Use of these
See also: SITE CPFR
Logging
For those with an existing ProFTPD installation, you can use the
SITE command can be controlled via
<Limit> sections, e.g.:
<Limit SITE_COPY>
AllowUser alex
DenyAll
</Limit>
The mod_copy module supports trace logging, via the module-specific log channels:
Thus for trace logging, to aid in debugging, you would use the following in
your proftpd.conf:
TraceLog /path/to/ftpd/trace.log
Trace copy:20
This trace logging can generate large files; it is intended for debugging use
only, and should be removed from any production configuration.
Installation
To install mod_copy, copy the mod_copy.c file into:
proftpd-dir/contrib/
after unpacking the latest proftpd-1.3.x source code. For including
mod_copy as a staticly linked module:
./configure --with-modules=mod_copy
To build mod_copy as a DSO module:
./configure --enable-dso --with-shared=mod_copy
Then follow the usual steps:
make
make install
prxs tool to add mod_copy, as a DSO module, to
your existing server:
# prxs -c -i -d mod_copy.c
© Copyright 2009-2015 TJ Saunders
All Rights Reserved