OFTPD(8)

NAME
oftpd - anonymous, read-only FTP server

SYNOPSIS
oftpd [-p|--port port ] [-i|--interface ip-address ] [-m|--max-clients num ] [-l|--local local-logging ] [-N|--nodetach] user-name root-directory

DESCRIPTION
oftpd is an anonymous-only FTP server. Although it must be started by the root user, after initialization it runs as the user specified by user-name parameter. This should be a user with minimal permissions, preferably from an account set up for this purpose only. The server uses chroot(2) to change the root directory of the server to the root-directory directory. When a user connects, this is the directory that they will start in, and is the top of their directory tree. When FTP clients connect, they may log in as "ftp" or "anonymous". Typically they will then send their e-mail address as password (most web browsers send a browser identifier rather than the user's e-mail address). Standard Unix file permissions are enforced for downloading, meaning clients may download any file user-name has permission to read. No uploads are permitted. All client activity is logged (see DIAGNOSTICS below).

OPTIONS

-p|--port port
    Use the specified port to listen for client connections. If not specified, the default FTP port (number 21) is used.

-i|--interface ip-address
    Use the interface connected to the IP address ip-address to accept connections. If not specified, the server listens on all interfaces.

-m|--max-clients num
    Accept at most num simultaneous clients. If not specified, 250 will be the limit.

-l|--local local-logging
    Normally oftpd logs messages to syslog as the FTP daemon. With this option, the specified local-logging level will be used instead. Valid numbers are 0-8.

-N|--nodetach
    Do not run in the background; for running from init(8) or for testing.

DIAGNOSTICS
Syntax errors will result in a help message being displayed, and a non-zero exit code returned. Otherwise the server will exit without output, and return zero. After the server has started, you should check the appropriate log produced by sysklogd(8) for the FTP daemon to insure that startup completed correctly. Certain errors occur only after the server has disconnected from the TTY, so can only be recorded via the log mechanism. If the server must terminate for any reason, it will also be logged, as will other non-fatal internal errors. They are logged with attention to how serious the condition is believed to be, as documented in the syslog(3) library call. Client activity will also be logged through this mechanism. This includes connect and disconnect (or rejection due to too many simultaneous users), the e-mail address reported as password, and file transfers. All client commands are logged as sent at the DEBUG level. To fully monitor client activity you may configure sysklogd(8) to record these.

NOTES
oftpd does not use inetd(8) to run. It is a stand-alone server. There is no need to configure the /etc/inetd.conf file to run it. In fact, there should be no entry for FTP there at all. You can use the kill(1) command to stop oftpd. When the server receives SIGHUP or SIGINT, it will stop listening for new FTP connections, and a new FTP server may be started. Any existing connections to the old server will continue to function normally until the client disconnects or times out. After all clients connections have closed, the server will exit. To shutdown the server and close all client connections immediately, use SIGKILL.

AUTHOR
Shane Kerr <shane@time-travellers.org>

SEE ALSO
ftp(1)