Trivial File Transfer Protocol daemon
is a server which implements the DARPA
Trivial File Transfer Protocol.
The use of tftp(1)
does not require
an account or password on the remote system. Due to the lack of authentication
will allow only publicly
readable files to be accessed. Files may be written only if they already exist
and are publicly writable, unless the -c
specified (see below). 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 must be started as root, but will chroot to the
specified on the command line and
drop privileges to the _tftpd user.
always provides random data at the path
, and therefore this path will be
ignored inside the directory
network bootloaders access this path to
harvest entropy during kernel load.
The options are as follows:
- Forces tftpd to use IPv4
- Forces tftpd to use IPv6
- Allow new files to be created; otherwise uploaded files
must already exist. Files are created with default permissions allowing
anyone to read or write to them.
- Do not daemonize. If this option is specified,
tftpd will run in the foreground and log the
client IP, type of request, and filename to stderr.
- Listen on the specified address. By default
tftpd listens on wildcard addresses.
- Listen on the specified port. By default
tftpd listens on the port indicated in the
tftp’ service description; see
- Issue filename rewrite requests to the specified UNIX
domain socket. tftpd will write lines in the
format "IP OP filename", terminated by a newline, where IP is
the client's IP address, and OP is one of "read" or
"write". tftpd expects replies in
the format "filename" terminated by a newline. All rewrite
requests from the daemon must be answered (even if it is with the original
filename) before the TFTP request will continue. By default
tftpd does not use filename rewriting.
- Log the client IP, type of request, and filename.
- chroot(2) to
directory on startup; the remote host is
not expected to pass the directory as part of the file name to
command was originally a process run via
and appeared in
. It was rewritten for OpenBSD
as a persistent non-blocking daemon.
Many TFTP clients will not transfer files over 16744448 octets (32767