TFTPD(8)

NAME
tftpd - Internet Trivial File Transfer Protocol server

SYNOPSIS
/usr/libexec/tftpd [-l] [-n] [-s directory] [directory ...]

DESCRIPTION
Tftpd is a server which supports the Internet Trivial File Transfer Protocol (RFC 783). The TFTP server operates at the port indicated in the ‘tftp’ service description; see services(5). The server is normally started by inetd(8).

The use of tftp(1) does not require an account or password on the remote system. Due to the lack of authentication information, tftpd will allow only publicly readable files to be accessed. Files containing the string ``/../'' or starting with ``../'' are not allowed. Files may be written only if they already exist and are publicly writable. Note that this extends the concept of “public” to include all users on all hosts that can be reached through the network; this may not be appropriate on all systems, and its implications should be considered before enabling tftp service. The server should have the user ID with the lowest possible privilege.

Access to files may be restricted by invoking tftpd with a list of directories by including up to 20 pathnames as server program arguments in /etc/inetd.conf. In this case access is restricted to files whose names are prefixed by the one of the given directories. The given directories are also treated as a search path for relative filename requests.

The chroot option provides additional security by restricting access of tftpd to only a chroot'd file system. This is useful when moving from an OS that supported -s as a boot server. Because chroot is restricted to root, you must run tftpd as root. However, if you chroot, then tftpd will set its user id to nobody.

The options are:

-l  Log all requests using syslog(3) with the facility of LOG_FTP. Note: Logging of LOG_FTP messages will also need to be enabled in the syslog configuration file syslog.conf(5).

-n  Suppress negative acknowledgement of requests for nonexistent relative filenames.

-s directory
    Cause tftpd to chroot to directory before accepting commands. In addition, the user id is set to nobody.

    If you are not running -s, no user id change will be attempted. You should not run tftpd as root unless you are using -s.

SEE ALSO
tftp(1), inetd(8), syslogd(8)

HISTORY
The tftpd command appeared in 4.2BSD.