xref: /freebsd/libexec/tftpd/tftpd.8 (revision dba0fd308e42196c8981bfdeddaa42d86e407ed1)
1ea022d16SRodney W. Grimes.\" Copyright (c) 1983, 1991, 1993
2ea022d16SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
3ea022d16SRodney W. Grimes.\"
4ea022d16SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
5ea022d16SRodney W. Grimes.\" modification, are permitted provided that the following conditions
6ea022d16SRodney W. Grimes.\" are met:
7ea022d16SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
8ea022d16SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
9ea022d16SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
10ea022d16SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
11ea022d16SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
12ea022d16SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software
13ea022d16SRodney W. Grimes.\"    must display the following acknowledgement:
14ea022d16SRodney W. Grimes.\"	This product includes software developed by the University of
15ea022d16SRodney W. Grimes.\"	California, Berkeley and its contributors.
16ea022d16SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
17ea022d16SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
18ea022d16SRodney W. Grimes.\"    without specific prior written permission.
19ea022d16SRodney W. Grimes.\"
20ea022d16SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21ea022d16SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22ea022d16SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23ea022d16SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24ea022d16SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25ea022d16SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26ea022d16SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27ea022d16SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28ea022d16SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29ea022d16SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30ea022d16SRodney W. Grimes.\" SUCH DAMAGE.
31ea022d16SRodney W. Grimes.\"
32ea022d16SRodney W. Grimes.\"	@(#)tftpd.8	8.1 (Berkeley) 6/4/93
33229494cbSMike Pritchard.\" $FreeBSD$
34ea022d16SRodney W. Grimes.\"
3567c31d50SGarrett Wollman.Dd September 14, 2000
36ea022d16SRodney W. Grimes.Dt TFTPD 8
370efe23d6SRuslan Ermilov.Os
38ea022d16SRodney W. Grimes.Sh NAME
39ea022d16SRodney W. Grimes.Nm tftpd
40eb083802SRuslan Ermilov.Nd Internet Trivial File Transfer Protocol server
41ea022d16SRodney W. Grimes.Sh SYNOPSIS
42ff7e281dSYaroslav Tykhiy.Nm tftpd
43dba0fd30SEdwin Groothuis.Op Fl cClnwW
44dba0fd30SEdwin Groothuis.Op Fl F Ar strftime-format
458ea31785SWarner Losh.Op Fl s Ar directory
46f62eaadfSGarrett Wollman.Op Fl u Ar user
47eff77877SMatthew N. Dodd.Op Fl U Ar umask
48ea022d16SRodney W. Grimes.Op Ar directory ...
49ea022d16SRodney W. Grimes.Sh DESCRIPTION
503f162cb8SPhilippe CharnierThe
513f162cb8SPhilippe Charnier.Nm
523f162cb8SPhilippe Charnierutility is a server which supports the
53ea022d16SRodney W. GrimesInternet Trivial File Transfer
54f62eaadfSGarrett WollmanProtocol
55f62eaadfSGarrett Wollman.Pq Tn RFC 1350 .
56ea022d16SRodney W. GrimesThe
57ea022d16SRodney W. Grimes.Tn TFTP
58ea022d16SRodney W. Grimesserver operates
59ea022d16SRodney W. Grimesat the port indicated in the
60ea022d16SRodney W. Grimes.Ql tftp
61ea022d16SRodney W. Grimesservice description;
62ea022d16SRodney W. Grimessee
63ea022d16SRodney W. Grimes.Xr services 5 .
64ea022d16SRodney W. GrimesThe server is normally started by
65ea022d16SRodney W. Grimes.Xr inetd 8 .
66ea022d16SRodney W. Grimes.Pp
67ea022d16SRodney W. GrimesThe use of
68ea022d16SRodney W. Grimes.Xr tftp 1
69ea022d16SRodney W. Grimesdoes not require an account or password on the remote system.
70ea022d16SRodney W. GrimesDue to the lack of authentication information,
71a8faeabcSPhilippe Charnier.Nm
72ea022d16SRodney W. Grimeswill allow only publicly readable files to be
73ea022d16SRodney W. Grimesaccessed.
74ff7e281dSYaroslav TykhiyFiles containing the string
75ff7e281dSYaroslav Tykhiy.Dq Li "/../"
76ff7e281dSYaroslav Tykhiyor starting with
77ff7e281dSYaroslav Tykhiy.Dq Li "../"
78ff7e281dSYaroslav Tykhiyare not allowed.
79ea022d16SRodney W. GrimesFiles may be written only if they already exist and are publicly writable.
80ea022d16SRodney W. GrimesNote that this extends the concept of
81ea022d16SRodney W. Grimes.Dq public
82ea022d16SRodney W. Grimesto include
83ea022d16SRodney W. Grimesall users on all hosts that can be reached through the network;
84ea022d16SRodney W. Grimesthis may not be appropriate on all systems, and its implications
85ea022d16SRodney W. Grimesshould be considered before enabling tftp service.
86ea022d16SRodney W. GrimesThe server should have the user ID with the lowest possible privilege.
87ea022d16SRodney W. Grimes.Pp
88ea022d16SRodney W. GrimesAccess to files may be restricted by invoking
89a8faeabcSPhilippe Charnier.Nm
90ea022d16SRodney W. Grimeswith a list of directories by including up to 20 pathnames
91ea022d16SRodney W. Grimesas server program arguments in
92ff7e281dSYaroslav Tykhiy.Xr inetd.conf 5 .
93ea022d16SRodney W. GrimesIn this case access is restricted to files whose
94ea022d16SRodney W. Grimesnames are prefixed by the one of the given directories.
95ea022d16SRodney W. GrimesThe given directories are also treated as a search path for
96ea022d16SRodney W. Grimesrelative filename requests.
97ea022d16SRodney W. Grimes.Pp
98f62eaadfSGarrett WollmanThe
99a8faeabcSPhilippe Charnier.Fl s
100f62eaadfSGarrett Wollmanoption provides additional security by changing
101ff7e281dSYaroslav Tykhiythe root directory of
102ff7e281dSYaroslav Tykhiy.Nm ,
103ff7e281dSYaroslav Tykhiythereby prohibiting accesses to outside of the specified
104f62eaadfSGarrett Wollman.Ar directory .
105f62eaadfSGarrett WollmanBecause
106f62eaadfSGarrett Wollman.Xr chroot 2
107f62eaadfSGarrett Wollmanrequires super-user privileges,
108a8faeabcSPhilippe Charnier.Nm
109ff7e281dSYaroslav Tykhiymust be run as
110ff7e281dSYaroslav Tykhiy.Li root .
111f62eaadfSGarrett WollmanHowever, after performing the
112ff7e281dSYaroslav Tykhiy.Xr chroot 2
113ff7e281dSYaroslav Tykhiycall,
114a8faeabcSPhilippe Charnier.Nm
115ff7e281dSYaroslav Tykhiywill set its user ID to that of the specified
116f62eaadfSGarrett Wollman.Ar user ,
117f62eaadfSGarrett Wollmanor
118ff7e281dSYaroslav Tykhiy.Dq Li nobody
119f62eaadfSGarrett Wollmanif no
120f62eaadfSGarrett Wollman.Fl u
121f62eaadfSGarrett Wollmanoption is specified.
1228ea31785SWarner Losh.Pp
123ea022d16SRodney W. GrimesThe options are:
124ea022d16SRodney W. Grimes.Bl -tag -width Ds
1251ed0e5d2SBill Fumerola.It Fl c
126ff7e281dSYaroslav TykhiyChanges the default root directory of a connecting host via
127ff7e281dSYaroslav Tykhiy.Xr chroot 2
128ff7e281dSYaroslav Tykhiybased on the connecting IP address.
1291ed0e5d2SBill FumerolaThis prevents multiple clients from writing to the same file at the same time.
1301ed0e5d2SBill FumerolaIf the directory does not exist, the client connection is refused.
1311ed0e5d2SBill FumerolaThe
1321ed0e5d2SBill Fumerola.Fl s
1331ed0e5d2SBill Fumerolaoption is required for
1341ed0e5d2SBill Fumerola.Fl c
1351ed0e5d2SBill Fumerolaand the specified
1361ed0e5d2SBill Fumerola.Ar directory
1371ed0e5d2SBill Fumerolais used as a base.
1381ed0e5d2SBill Fumerola.It Fl C
1391ed0e5d2SBill FumerolaOperates the same as
1401ed0e5d2SBill Fumerola.Fl c
1411ed0e5d2SBill Fumerolaexcept it falls back to
1421ed0e5d2SBill Fumerola.Ar directory
143ff7e281dSYaroslav Tykhiyspecified via
144ff7e281dSYaroslav Tykhiy.Fl s
1451ed0e5d2SBill Fumerolaif a directory does not exist for the client's IP.
146dba0fd30SEdwin Groothuis.It Fl F
147dba0fd30SEdwin GroothuisUse this
148dba0fd30SEdwin Groothuis.Xr strftime 3
149dba0fd30SEdwin Groothuiscompatible format string for the creation of the suffix if
150dba0fd30SEdwin Groothuis.Fl W
151dba0fd30SEdwin Groothuisis specified.
152dba0fd30SEdwin GroothuisBy default the string "%Y%m%d" is used.
153ea022d16SRodney W. Grimes.It Fl l
154a8faeabcSPhilippe CharnierLog all requests using
1553dead0b6SJoseph Koshy.Xr syslog 3
156f62eaadfSGarrett Wollmanwith the facility of
157f62eaadfSGarrett Wollman.Dv LOG_FTP .
158ff7e281dSYaroslav Tykhiy.Sy Note :
159ff7e281dSYaroslav TykhiyLogging of
160f62eaadfSGarrett Wollman.Dv LOG_FTP
161f62eaadfSGarrett Wollmanmessages
162f62eaadfSGarrett Wollmanmust also be enabled in the syslog configuration file,
1633dead0b6SJoseph Koshy.Xr syslog.conf 5 .
164ea022d16SRodney W. Grimes.It Fl n
165a8faeabcSPhilippe CharnierSuppress negative acknowledgement of requests for nonexistent
166ea022d16SRodney W. Grimesrelative filenames.
1678ea31785SWarner Losh.It Fl s Ar directory
168a8faeabcSPhilippe CharnierCause
169a8faeabcSPhilippe Charnier.Nm
170f62eaadfSGarrett Wollmanto change its root directory to
171ff7e281dSYaroslav Tykhiy.Ar directory .
172ff7e281dSYaroslav TykhiyAfter doing that but before accepting commands,
173a8faeabcSPhilippe Charnier.Nm
174f62eaadfSGarrett Wollmanwill switch credentials to an unprivileged user.
175f62eaadfSGarrett Wollman.It Fl u Ar user
176f62eaadfSGarrett WollmanSwitch credentials to
177f62eaadfSGarrett Wollman.Ar user
178f62eaadfSGarrett Wollman(default
179ff7e281dSYaroslav Tykhiy.Dq Li nobody )
180f62eaadfSGarrett Wollmanwhen the
181f62eaadfSGarrett Wollman.Fl s
182f62eaadfSGarrett Wollmanoption is used.
183f62eaadfSGarrett WollmanThe user must be specified by name, not a numeric UID.
184eff77877SMatthew N. Dodd.It Fl U Ar umask
185eff77877SMatthew N. DoddSet the
186eff77877SMatthew N. Dodd.Ar umask
1872410103cSRuslan Ermilovfor newly created files.
1882410103cSRuslan ErmilovThe default is 022
189a3ec17dbSRuslan Ermilov.Pq Dv S_IWGRP | S_IWOTH .
190eff77877SMatthew N. Dodd.It Fl w
19141d05ce7SBjoern A. ZeebAllow write requests to create new files.
1922410103cSRuslan ErmilovBy default
193eff77877SMatthew N. Dodd.Nm
194eff77877SMatthew N. Doddrequires that the file specified in a write request exist.
195dba0fd30SEdwin GroothuisNote that this only works in directories writable by the user
196dba0fd30SEdwin Groothuisspecified with
197dba0fd30SEdwin Groothuis.Fl u
198dba0fd30SEdwin Groothuisoption
199dba0fd30SEdwin Groothuis.It Fl W
200dba0fd30SEdwin GroothuisAs
201dba0fd30SEdwin Groothuis.Fl w
202dba0fd30SEdwin Groothuisbut append a YYYYMMDD.nn sequence number to the end of the filename.
203dba0fd30SEdwin GroothuisNote that the string YYYYMMDD can be changed the
204dba0fd30SEdwin Groothuis.Fl F
205dba0fd30SEdwin Groothuisoption.
206ea022d16SRodney W. Grimes.El
207ea022d16SRodney W. Grimes.Sh SEE ALSO
208ea022d16SRodney W. Grimes.Xr tftp 1 ,
209f62eaadfSGarrett Wollman.Xr chroot 2 ,
210ff7e281dSYaroslav Tykhiy.Xr syslog 3 ,
211ff7e281dSYaroslav Tykhiy.Xr inetd.conf 5 ,
212ff7e281dSYaroslav Tykhiy.Xr services 5 ,
213ff7e281dSYaroslav Tykhiy.Xr syslog.conf 5 ,
214ff7e281dSYaroslav Tykhiy.Xr inetd 8
215f62eaadfSGarrett Wollman.Rs
216f62eaadfSGarrett Wollman.%A K. R. Sollins
217f62eaadfSGarrett Wollman.%T The TFTP Protocol (Revision 2)
218f62eaadfSGarrett Wollman.%D July 1992
219f62eaadfSGarrett Wollman.%O RFC 1350, STD 33
220f62eaadfSGarrett Wollman.Re
221ea022d16SRodney W. Grimes.Sh HISTORY
222ea022d16SRodney W. GrimesThe
223ea022d16SRodney W. Grimes.Nm
2243f162cb8SPhilippe Charnierutility appeared in
22567c31d50SGarrett Wollman.Bx 4.2 ;
22667c31d50SGarrett Wollmanthe
22767c31d50SGarrett Wollman.Fl s
22867c31d50SGarrett Wollmanoption was introduced in
22967c31d50SGarrett Wollman.Fx 2.2 ,
2301ed0e5d2SBill Fumerolathe
23167c31d50SGarrett Wollman.Fl u
23267c31d50SGarrett Wollmanoption was introduced in
2331ed0e5d2SBill Fumerola.Fx 4.2 ,
234dba0fd30SEdwin Groothuisthe
2351ed0e5d2SBill Fumerola.Fl c
2361ed0e5d2SBill Fumerolaoption was introduced in
237dba0fd30SEdwin Groothuis.Fx 4.3 ,
238dba0fd30SEdwin Groothuisand the
239dba0fd30SEdwin Groothuis.Fl F
240dba0fd30SEdwin Groothuisand
241dba0fd30SEdwin Groothuis.Fl W
242dba0fd30SEdwin Groothuisoptions were introduced in
243dba0fd30SEdwin Groothuis.Fx 7 .
244dba0fd30SEdwin Groothuis.Pp
24567034ac6SJeroen Ruigrok van der Werven.Sh BUGS
24667034ac6SJeroen Ruigrok van der WervenFiles larger than 33488896 octets (65535 blocks) cannot be transferred
24767034ac6SJeroen Ruigrok van der Wervenwithout client and server supporting blocksize negotiation (RFC1783).
24867034ac6SJeroen Ruigrok van der Werven.Pp
24967034ac6SJeroen Ruigrok van der WervenMany tftp clients will not transfer files over 16744448 octets (32767 blocks).
250