mod_vrootmod_vroot.c file for
ProFTPD 1.3.x, and is not compiled by default. Installation
instructions are discussed here.
The purpose of this module to is to implement a virtual chroot capability
that does not require root privileges. The mod_vroot module
provides this capability by using ProFTPD's FS API, available as of 1.2.8rc1.
The most current version of mod_vroot can be found at:
http://www.castaglia.org/proftpd/
Please contact TJ Saunders <tj at castaglia.org> with any questions, concerns, or suggestions regarding this module.
2003-08-26: Thanks to Oskar Liljeblad for the elegant patch that added symlink support.
<VirtualHost>, <Global>
The VRootEngine module enables the virtual chroot engine
implemented by mod_vroot. If enabled, the virtual chroot will
be used in place of the operating system's chroot(2). This
directive affects any DefaultRoot directives and any
<Anonymous> contexts within the server context in which
the VRootEngine directive appears.
<VirtualHost>, <Global>
The VRootLog directive is used to specify a log file for
mod_vroot's reporting on a per-server basis. The file
parameter given must be the full path to the file to use for logging.
<VirtualHost>, <Global>
The VRootOptions directive is used to configure various optional
behavior of mod_vroot.
Example:
VRootOptions allowSymlinks
The currently implemented options are:
allowSymlinksallowSymlinks option is enabled, these
symlinks will be allowed. Note that by enabling symlinks, the efficacy
of the vroot "jail" is reduced.
<VirtualHost>, <Global>
The VRootServerRoot directive is used to configure a directory
to which the mod_vroot module will perform a real chroot.
The idea is that each <VirtualHost> can have its own
directory to which a real chroot(2) system call is made;
the user-specific home directories will be virtual roots underneath this
directory. Thus some measure of security, via the chroot(2)
system call, is provided by the kernel, while still allowing symlinked shared
folders among users of this <VirtualHost>.
For example:
<VirtualHost a.b.c.d>
VRootEngine on
VRootServerRoot /etc/ftpd/a.b.c.d/
VRootOptions allowSymlinks
DefaultRoot ~
...
</VirtualHost>
See also: VRootOptions
mod_vroot.c file into:
proftpd-dir/contrib/Then follow the normal steps for using third-party modules in proftpd:
./configure --with-modules=mod_vroot make make install