Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TFTPD(8)		FreeBSD	System Manager's Manual		      TFTPD(8)

NAME
     tftpd -- Internet Trivial File Transfer Protocol server

SYNOPSIS
     /usr/libexec/tftpd	[-cCln]	[-s directory] [-u user] [directory ...]

DESCRIPTION
     Tftpd is a	server which supports the Internet Trivial File	Transfer Pro-
     tocol (RFC	1350).	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	direc-
     tories 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 -s option provides additional security	by changing tftpd's root
     directory,	thereby	prohibiting accesses outside of	the specified
     directory.	 Because chroot(2) requires super-user privileges, tftpd must
     be	run as root.  However, after performing	the chroot(), tftpd will set
     its user id to that of the	specified user,	or ``nobody'' if no -u option
     is	specified.

     The options are:

     -c	     Changes the default root directory	of a connecting	host via
	     chroot based on the connecting IP address.	 This prevents multi-
	     ple clients from writing to the same file at the same time.  If
	     the directory does	not exist, the client connection is refused.
	     The -s option is required for -c and the specified	directory is
	     used as a base.

     -C	     Operates the same as -c except it falls back to -s's directory if
	     a directory does not exist	for the	client's IP.

     -l	     Log all requests using syslog(3) with the facility	of LOG_FTP.
	     Note: Logging of LOG_FTP messages must also 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 change its root directory to directory.  After
	     changing roots but	before accepting commands, tftpd will switch
	     credentials to an unprivileged user.

     -u	user
	     Switch credentials	to user	(default ``nobody'') when the -s
	     option is used.  The user must be specified by name, not a
	     numeric UID.

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

     K.	R. Sollins, The	TFTP Protocol (Revision	2), July 1992, RFC 1350, STD
     33.

HISTORY
     The tftpd command appeared	in 4.2BSD; the -s option was introduced	in
     FreeBSD 2.2, the -u option	was introduced in FreeBSD 4.2, and the -c
     option was	introduced in FreeBSD 4.3.

BUGS
     Files larger than 33488896	octets (65535 blocks) cannot be	transferred
     without client and	server supporting blocksize negotiation	(RFC1783).

     Many tftp clients will not	transfer files over 16744448 octets (32767
     blocks).

FreeBSD	11.1		      September	14, 2000		  FreeBSD 11.1

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=tftpd&sektion=8&manpath=FreeBSD+4.6-RELEASE>

home | help