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