.TH twoftpd-xfer 1 .SH NAME twoftpd-xfer \- TwoFTPD file transfer back-end. .SH SYNOPSIS .B twoftpd-xfer .SH DESCRIPTION .B twoftpd-xfer reads FTP request from the network and executes file transfers based on those requests. Before doing anything, .B twoftpd-xfer changes directory to the authenticated user's home directory, changes the root directory to that directory, and drops all root priviledges. .SH ENVIRONMENT .TP .B AUTHENTICATED If set (typically by .B twoftpd-auth after successfully completing authentication), the startup banner will use code .IR 230 , indicating that authentication was successful. Otherwise, the startup banner will use code .IR 220 , which is the normal initial connection banner. .TP .B BANNER If set, the contents of this variable will be sent as extra responses when the server starts. .TP .B CHROOT If set, change the root directory to the user's home directory through the OS chroot syscall. .TP .B CONNECT_TIMEOUT The maximum number of seconds to wait for a data channel connection to complete. If not set, it defaults to the value of .BR $TIMEOUT . .TP .B GID Numerical group ID number to change to at program startup. .TP .B GIDS Optional comma-seperated list of numerical group IDs to set up as the supplementary group IDs. .TP .B GROUP Group name to use in long listings for files owned by .BR $GID . If not set, defaults to .IR mygroup . .TP .B HOME Directory to switch to on program startup. .TP .B LOCKHOME If set (and neither .B CHROOT nor .B SOFTCHROOT are set), all accesses to files and paths outside of .B HOME will be forbidden. .TP .B LOGREQUESTS If set, all requests from the client will be logged. .TP .B LOGRESPONSES If set, all responses to the client (after login) will be logged. .TP .B MESSAGEFILE If set, the contents this file will be automatically sent as extra responses to the client whenever the server enters a directory (including at startup). .TP .B NODOTFILES If set, all listings will exclude all files starting with a period, and it will not be possible to do any file access (including storing or retrieving) to any file starting with a period. This may be useful for anonymous FTP servers. .TP .B SESSION_TIMEOUT The maximum number of seconds to allow a single session to last. .TP .B SOFTCHROOT If set, and .B CHROOT is not set, the server emulates the effect of a chroot without actually effecting a chroot. This eliminates the system-enforced barrier provided by the chroot, but allows for things like symlinks outside of the home directory. .TP .B TCPLOCALIP The IP to use when creating PASV connections. Normally, this is set by .BR tcpserver . .TP .B TCPREMOTEIP The source IP to use when creating PORT connections. Normally, this is set by .BR tcpserver . .TP .B TIMEOUT The maximum number of seconds to wait for command input or connections. .TP .B UID Numerical user ID number to change to at program startup. .TP .B USER Owner name to use in long listings for files owned by .BR $UID . .SH NOTES You will need to set the umask to an appropriate value before running this program. .P The .B twoftpd-anon program functions identically to this program, with the exception of having no file modification capabilities. The .B twoftpd-drop program is a similarly restricted program, that can only create new files (no overwriting, modifying, or listing existing files).