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

FreeBSD Manual Pages

  
 
  

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

NAME
       tftpd --	Internet Trivial File Transfer Protocol	server

SYNOPSIS
       /usr/libexec/tftpd   [-cClnw]  [-s  directory]  [-u  user]  [-U	umask]
			  [directory ...]

DESCRIPTION
       The tftpd utility is a server which supports the	Internet Trivial  File
       Transfer	Protocol (RFC 1350).  The TFTP server operates at the port in-
       dicated 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 re-
       mote 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  ap-
       propriate on all	systems, and its implications should be	considered be-
       fore  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  di-
       rectories  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 di-
       rectories are also treated as a search path for relative	 filename  re-
       quests.

       The -s option provides additional security by changing tftpd's root di-
       rectory,	  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 ch-
	       root  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 op-
	       tion is used.  The user must be specified by name,  not	a  nu-
	       meric UID.

       -U umask
	       Set  the	 umask	for  newly  created files.  The	default	is 022
	       (S_IWGRP	| S_IWOTH).

       -w      Allow writes requests to	create new files.   By	default	 tftpd
	       requires	that the file specified	in a write request exist.

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  utility 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	6.0		      September	14, 2000		      TFTPD(8)

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

home | help