xref: /freebsd/libexec/tftpd/tftpd.8 (revision a3ec17db372ad7c3f70252aef981056782596cd0)
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
43eff77877SMatthew N. Dodd.Op Fl cClnw
448ea31785SWarner Losh.Op Fl s Ar directory
45f62eaadfSGarrett Wollman.Op Fl u Ar user
46eff77877SMatthew N. Dodd.Op Fl U Ar umask
47ea022d16SRodney W. Grimes.Op Ar directory ...
48ea022d16SRodney W. Grimes.Sh DESCRIPTION
493f162cb8SPhilippe CharnierThe
503f162cb8SPhilippe Charnier.Nm
513f162cb8SPhilippe Charnierutility is a server which supports the
52ea022d16SRodney W. GrimesInternet Trivial File Transfer
53f62eaadfSGarrett WollmanProtocol
54f62eaadfSGarrett Wollman.Pq Tn RFC 1350 .
55ea022d16SRodney W. GrimesThe
56ea022d16SRodney W. Grimes.Tn TFTP
57ea022d16SRodney W. Grimesserver operates
58ea022d16SRodney W. Grimesat the port indicated in the
59ea022d16SRodney W. Grimes.Ql tftp
60ea022d16SRodney W. Grimesservice description;
61ea022d16SRodney W. Grimessee
62ea022d16SRodney W. Grimes.Xr services 5 .
63ea022d16SRodney W. GrimesThe server is normally started by
64ea022d16SRodney W. Grimes.Xr inetd 8 .
65ea022d16SRodney W. Grimes.Pp
66ea022d16SRodney W. GrimesThe use of
67ea022d16SRodney W. Grimes.Xr tftp 1
68ea022d16SRodney W. Grimesdoes not require an account or password on the remote system.
69ea022d16SRodney W. GrimesDue to the lack of authentication information,
70a8faeabcSPhilippe Charnier.Nm
71ea022d16SRodney W. Grimeswill allow only publicly readable files to be
72ea022d16SRodney W. Grimesaccessed.
73ff7e281dSYaroslav TykhiyFiles containing the string
74ff7e281dSYaroslav Tykhiy.Dq Li "/../"
75ff7e281dSYaroslav Tykhiyor starting with
76ff7e281dSYaroslav Tykhiy.Dq Li "../"
77ff7e281dSYaroslav Tykhiyare not allowed.
78ea022d16SRodney W. GrimesFiles may be written only if they already exist and are publicly writable.
79ea022d16SRodney W. GrimesNote that this extends the concept of
80ea022d16SRodney W. Grimes.Dq public
81ea022d16SRodney W. Grimesto include
82ea022d16SRodney W. Grimesall users on all hosts that can be reached through the network;
83ea022d16SRodney W. Grimesthis may not be appropriate on all systems, and its implications
84ea022d16SRodney W. Grimesshould be considered before enabling tftp service.
85ea022d16SRodney W. GrimesThe server should have the user ID with the lowest possible privilege.
86ea022d16SRodney W. Grimes.Pp
87ea022d16SRodney W. GrimesAccess to files may be restricted by invoking
88a8faeabcSPhilippe Charnier.Nm
89ea022d16SRodney W. Grimeswith a list of directories by including up to 20 pathnames
90ea022d16SRodney W. Grimesas server program arguments in
91ff7e281dSYaroslav Tykhiy.Xr inetd.conf 5 .
92ea022d16SRodney W. GrimesIn this case access is restricted to files whose
93ea022d16SRodney W. Grimesnames are prefixed by the one of the given directories.
94ea022d16SRodney W. GrimesThe given directories are also treated as a search path for
95ea022d16SRodney W. Grimesrelative filename requests.
96ea022d16SRodney W. Grimes.Pp
97f62eaadfSGarrett WollmanThe
98a8faeabcSPhilippe Charnier.Fl s
99f62eaadfSGarrett Wollmanoption provides additional security by changing
100ff7e281dSYaroslav Tykhiythe root directory of
101ff7e281dSYaroslav Tykhiy.Nm ,
102ff7e281dSYaroslav Tykhiythereby prohibiting accesses to outside of the specified
103f62eaadfSGarrett Wollman.Ar directory .
104f62eaadfSGarrett WollmanBecause
105f62eaadfSGarrett Wollman.Xr chroot 2
106f62eaadfSGarrett Wollmanrequires super-user privileges,
107a8faeabcSPhilippe Charnier.Nm
108ff7e281dSYaroslav Tykhiymust be run as
109ff7e281dSYaroslav Tykhiy.Li root .
110f62eaadfSGarrett WollmanHowever, after performing the
111ff7e281dSYaroslav Tykhiy.Xr chroot 2
112ff7e281dSYaroslav Tykhiycall,
113a8faeabcSPhilippe Charnier.Nm
114ff7e281dSYaroslav Tykhiywill set its user ID to that of the specified
115f62eaadfSGarrett Wollman.Ar user ,
116f62eaadfSGarrett Wollmanor
117ff7e281dSYaroslav Tykhiy.Dq Li nobody
118f62eaadfSGarrett Wollmanif no
119f62eaadfSGarrett Wollman.Fl u
120f62eaadfSGarrett Wollmanoption is specified.
1218ea31785SWarner Losh.Pp
122ea022d16SRodney W. GrimesThe options are:
123ea022d16SRodney W. Grimes.Bl -tag -width Ds
1241ed0e5d2SBill Fumerola.It Fl c
125ff7e281dSYaroslav TykhiyChanges the default root directory of a connecting host via
126ff7e281dSYaroslav Tykhiy.Xr chroot 2
127ff7e281dSYaroslav Tykhiybased on the connecting IP address.
1281ed0e5d2SBill FumerolaThis prevents multiple clients from writing to the same file at the same time.
1291ed0e5d2SBill FumerolaIf the directory does not exist, the client connection is refused.
1301ed0e5d2SBill FumerolaThe
1311ed0e5d2SBill Fumerola.Fl s
1321ed0e5d2SBill Fumerolaoption is required for
1331ed0e5d2SBill Fumerola.Fl c
1341ed0e5d2SBill Fumerolaand the specified
1351ed0e5d2SBill Fumerola.Ar directory
1361ed0e5d2SBill Fumerolais used as a base.
1371ed0e5d2SBill Fumerola.It Fl C
1381ed0e5d2SBill FumerolaOperates the same as
1391ed0e5d2SBill Fumerola.Fl c
1401ed0e5d2SBill Fumerolaexcept it falls back to
1411ed0e5d2SBill Fumerola.Ar directory
142ff7e281dSYaroslav Tykhiyspecified via
143ff7e281dSYaroslav Tykhiy.Fl s
1441ed0e5d2SBill Fumerolaif a directory does not exist for the client's IP.
145ea022d16SRodney W. Grimes.It Fl l
146a8faeabcSPhilippe CharnierLog all requests using
1473dead0b6SJoseph Koshy.Xr syslog 3
148f62eaadfSGarrett Wollmanwith the facility of
149f62eaadfSGarrett Wollman.Dv LOG_FTP .
150ff7e281dSYaroslav Tykhiy.Sy Note :
151ff7e281dSYaroslav TykhiyLogging of
152f62eaadfSGarrett Wollman.Dv LOG_FTP
153f62eaadfSGarrett Wollmanmessages
154f62eaadfSGarrett Wollmanmust also be enabled in the syslog configuration file,
1553dead0b6SJoseph Koshy.Xr syslog.conf 5 .
156ea022d16SRodney W. Grimes.It Fl n
157a8faeabcSPhilippe CharnierSuppress negative acknowledgement of requests for nonexistent
158ea022d16SRodney W. Grimesrelative filenames.
1598ea31785SWarner Losh.It Fl s Ar directory
160a8faeabcSPhilippe CharnierCause
161a8faeabcSPhilippe Charnier.Nm
162f62eaadfSGarrett Wollmanto change its root directory to
163ff7e281dSYaroslav Tykhiy.Ar directory .
164ff7e281dSYaroslav TykhiyAfter doing that but before accepting commands,
165a8faeabcSPhilippe Charnier.Nm
166f62eaadfSGarrett Wollmanwill switch credentials to an unprivileged user.
167f62eaadfSGarrett Wollman.It Fl u Ar user
168f62eaadfSGarrett WollmanSwitch credentials to
169f62eaadfSGarrett Wollman.Ar user
170f62eaadfSGarrett Wollman(default
171ff7e281dSYaroslav Tykhiy.Dq Li nobody )
172f62eaadfSGarrett Wollmanwhen the
173f62eaadfSGarrett Wollman.Fl s
174f62eaadfSGarrett Wollmanoption is used.
175f62eaadfSGarrett WollmanThe user must be specified by name, not a numeric UID.
176eff77877SMatthew N. Dodd.It Fl U Ar umask
177eff77877SMatthew N. DoddSet the
178eff77877SMatthew N. Dodd.Ar umask
1792410103cSRuslan Ermilovfor newly created files.
1802410103cSRuslan ErmilovThe default is 022
181a3ec17dbSRuslan Ermilov.Pq Dv S_IWGRP | S_IWOTH .
182eff77877SMatthew N. Dodd.It Fl w
1832410103cSRuslan ErmilovAllow writes requests to create new files.
1842410103cSRuslan ErmilovBy default
185eff77877SMatthew N. Dodd.Nm
186eff77877SMatthew N. Doddrequires that the file specified in a write request exist.
187ea022d16SRodney W. Grimes.El
188ea022d16SRodney W. Grimes.Sh SEE ALSO
189ea022d16SRodney W. Grimes.Xr tftp 1 ,
190f62eaadfSGarrett Wollman.Xr chroot 2 ,
191ff7e281dSYaroslav Tykhiy.Xr syslog 3 ,
192ff7e281dSYaroslav Tykhiy.Xr inetd.conf 5 ,
193ff7e281dSYaroslav Tykhiy.Xr services 5 ,
194ff7e281dSYaroslav Tykhiy.Xr syslog.conf 5 ,
195ff7e281dSYaroslav Tykhiy.Xr inetd 8
196f62eaadfSGarrett Wollman.Rs
197f62eaadfSGarrett Wollman.%A K. R. Sollins
198f62eaadfSGarrett Wollman.%T The TFTP Protocol (Revision 2)
199f62eaadfSGarrett Wollman.%D July 1992
200f62eaadfSGarrett Wollman.%O RFC 1350, STD 33
201f62eaadfSGarrett Wollman.Re
202ea022d16SRodney W. Grimes.Sh HISTORY
203ea022d16SRodney W. GrimesThe
204ea022d16SRodney W. Grimes.Nm
2053f162cb8SPhilippe Charnierutility appeared in
20667c31d50SGarrett Wollman.Bx 4.2 ;
20767c31d50SGarrett Wollmanthe
20867c31d50SGarrett Wollman.Fl s
20967c31d50SGarrett Wollmanoption was introduced in
21067c31d50SGarrett Wollman.Fx 2.2 ,
2111ed0e5d2SBill Fumerolathe
21267c31d50SGarrett Wollman.Fl u
21367c31d50SGarrett Wollmanoption was introduced in
2141ed0e5d2SBill Fumerola.Fx 4.2 ,
2151ed0e5d2SBill Fumerolaand the
2161ed0e5d2SBill Fumerola.Fl c
2171ed0e5d2SBill Fumerolaoption was introduced in
218276c4a5dSKris Kennaway.Fx 4.3 .
21967034ac6SJeroen Ruigrok van der Werven.Sh BUGS
22067034ac6SJeroen Ruigrok van der WervenFiles larger than 33488896 octets (65535 blocks) cannot be transferred
22167034ac6SJeroen Ruigrok van der Wervenwithout client and server supporting blocksize negotiation (RFC1783).
22267034ac6SJeroen Ruigrok van der Werven.Pp
22367034ac6SJeroen Ruigrok van der WervenMany tftp clients will not transfer files over 16744448 octets (32767 blocks).
224