1ea022d16SRodney W. Grimes.\" Copyright (c) 1985, 1988, 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.\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 337f3dea24SPeter Wemm.\" $FreeBSD$ 34ea022d16SRodney W. Grimes.\" 354dd8b5abSYoshinobu Inoue.Dd January 27, 2000 36ea022d16SRodney W. Grimes.Dt FTPD 8 370efe23d6SRuslan Ermilov.Os 38ea022d16SRodney W. Grimes.Sh NAME 39ea022d16SRodney W. Grimes.Nm ftpd 40eb083802SRuslan Ermilov.Nd Internet File Transfer Protocol server 41ea022d16SRodney W. Grimes.Sh SYNOPSIS 4276081989SRuslan Ermilov.Nm 430e063efeSYaroslav Tykhiy.Op Fl 46AdDEMoOrRSU 44a206edcdSMike Pritchard.Op Fl l Op Fl l 45105a3c98SJulian Elischer.Op Fl a Ar address 46105a3c98SJulian Elischer.Op Fl p Ar file 4748143587SSheldon Hearn.Op Fl t Ar timeout 480e063efeSYaroslav Tykhiy.Op Fl T Ar maxtimeout 49ea022d16SRodney W. Grimes.Sh DESCRIPTION 503f162cb8SPhilippe CharnierThe 513f162cb8SPhilippe Charnier.Nm 523f162cb8SPhilippe Charnierutility is the 53ea022d16SRodney W. GrimesInternet File Transfer Protocol 54ea022d16SRodney W. Grimesserver process. The server uses the 55ea022d16SRodney W. Grimes.Tn TCP 56ea022d16SRodney W. Grimesprotocol 57ea022d16SRodney W. Grimesand listens at the port specified in the 58ea022d16SRodney W. Grimes.Dq ftp 59ea022d16SRodney W. Grimesservice specification; see 60ea022d16SRodney W. Grimes.Xr services 5 . 61ea022d16SRodney W. Grimes.Pp 62ea022d16SRodney W. GrimesAvailable options: 63e02897faSPhilippe Charnier.Bl -tag -width indent 6448143587SSheldon Hearn.It Fl 4 6548143587SSheldon HearnWhen 6648143587SSheldon Hearn.Fl D 6748143587SSheldon Hearnis specified, accept IPv4 connections. 6848143587SSheldon HearnWhen 6948143587SSheldon Hearn.Fl 6 7048143587SSheldon Hearnis also specified, accept IPv4 connection via 7148143587SSheldon Hearn.Dv AF_INET6 7248143587SSheldon Hearnsocket. 7348143587SSheldon HearnWhen 7448143587SSheldon Hearn.Fl 6 7548143587SSheldon Hearnis not specified, accept IPv4 connection via 7648143587SSheldon Hearn.Dv AF_INET 7748143587SSheldon Hearnsocket. 7848143587SSheldon Hearn.It Fl 6 7948143587SSheldon HearnWhen 8048143587SSheldon Hearn.Fl D 8148143587SSheldon Hearnis specified, accept connections via 8248143587SSheldon Hearn.Dv AF_INET6 8348143587SSheldon Hearnsocket. 840e063efeSYaroslav Tykhiy.It Fl a 850e063efeSYaroslav TykhiyWhen 860e063efeSYaroslav Tykhiy.Fl D 870e063efeSYaroslav Tykhiyis specified, accept connections only on the specified 880e063efeSYaroslav Tykhiy.Ar address . 8948143587SSheldon Hearn.It Fl A 9048143587SSheldon HearnAllow only anonymous ftp access. 910e063efeSYaroslav Tykhiy.It Fl d 920e063efeSYaroslav TykhiyDebugging information is written to the syslog using 930e063efeSYaroslav Tykhiy.Dv LOG_FTP . 94cf09a206SDavid Greenman.It Fl D 95cf09a206SDavid GreenmanWith this option set, 96e02897faSPhilippe Charnier.Nm 97cf09a206SDavid Greenmanwill detach and become a daemon, accepting connections on the FTP port and 9819a05e11SRuslan Ermilovforking children processes to handle them. 9919a05e11SRuslan ErmilovThis is lower overhead than starting 100e02897faSPhilippe Charnier.Nm 101cf09a206SDavid Greenmanfrom 102cf09a206SDavid Greenman.Xr inetd 8 103cf09a206SDavid Greenmanand is thus useful on busy servers to reduce load. 10448143587SSheldon Hearn.It Fl E 10548143587SSheldon HearnDisable the EPSV command. 10648143587SSheldon HearnThis is useful for servers behind older firewalls. 10748143587SSheldon Hearn.It Fl l 10848143587SSheldon HearnEach successful and failed 10948143587SSheldon Hearn.Xr ftp 1 11048143587SSheldon Hearnsession is logged using syslog with a facility of 11148143587SSheldon Hearn.Dv LOG_FTP . 11248143587SSheldon HearnIf this option is specified twice, the retrieve (get), store (put), append, 11348143587SSheldon Hearndelete, make directory, remove directory and rename operations and 11448143587SSheldon Hearntheir filename arguments are also logged. 11548143587SSheldon HearnNote: 11648143587SSheldon Hearn.Dv LOG_FTP 11748143587SSheldon Hearnmessages 11848143587SSheldon Hearnare not displayed by 11948143587SSheldon Hearn.Xr syslogd 8 12048143587SSheldon Hearnby default, and may have to be enabled in 12148143587SSheldon Hearn.Xr syslogd 8 Ns 's 12248143587SSheldon Hearnconfiguration file. 1230e063efeSYaroslav Tykhiy.It Fl M 1240e063efeSYaroslav TykhiyPrevent anonymous users from creating directories. 1250e063efeSYaroslav Tykhiy.It Fl o 1260e063efeSYaroslav TykhiyPut server in write-only mode. 1270e063efeSYaroslav TykhiyRETR is disabled, preventing downloads. 1280e063efeSYaroslav Tykhiy.It Fl O 1290e063efeSYaroslav TykhiyPut server in write-only mode for anonymous users only. 1300e063efeSYaroslav TykhiyRETR is disabled for anonymous users, preventing anonymous downloads. 1310e063efeSYaroslav TykhiyThis has no effect if 1320e063efeSYaroslav Tykhiy.Fl o 1330e063efeSYaroslav Tykhiyis also specified. 1340e063efeSYaroslav Tykhiy.It Fl p 1350e063efeSYaroslav TykhiyWhen 1360e063efeSYaroslav Tykhiy.Fl D 1370e063efeSYaroslav Tykhiyis specified, write the daemon's process ID to 1380e063efeSYaroslav Tykhiy.Ar file . 1390e063efeSYaroslav Tykhiy.It Fl r 1400e063efeSYaroslav TykhiyPut server in read-only mode. 1410e063efeSYaroslav TykhiyAll commands which may modify the local filesystem are disabled. 1420e063efeSYaroslav Tykhiy.It Fl R 1430e063efeSYaroslav TykhiyWith this option set, 1440e063efeSYaroslav Tykhiy.Nm 1450e063efeSYaroslav Tykhiywill revert to historical behavior with regard to security checks on 1460e063efeSYaroslav Tykhiyuser operations and restrictions on PORT requests. 1470e063efeSYaroslav TykhiyCurrently, 1480e063efeSYaroslav Tykhiy.Nm 1490e063efeSYaroslav Tykhiywill only honor PORT commands directed to unprivileged ports on the 1500e063efeSYaroslav Tykhiyremote user's host (which violates the FTP protocol specification but 1510e063efeSYaroslav Tykhiycloses some security holes). 1520e063efeSYaroslav Tykhiy.It Fl S 1530e063efeSYaroslav TykhiyWith this option set, 1540e063efeSYaroslav Tykhiy.Nm 1550e063efeSYaroslav Tykhiylogs all anonymous file downloads to the file 1560e063efeSYaroslav Tykhiy.Pa /var/log/ftpd 1570e063efeSYaroslav Tykhiywhen this file exists. 1580e063efeSYaroslav Tykhiy.It Fl t 1590e063efeSYaroslav TykhiyThe inactivity timeout period is set to 1600e063efeSYaroslav Tykhiy.Ar timeout 1610e063efeSYaroslav Tykhiyseconds (the default is 15 minutes). 162ea022d16SRodney W. Grimes.It Fl T 163ea022d16SRodney W. GrimesA client may also request a different timeout period; 164ea022d16SRodney W. Grimesthe maximum period allowed may be set to 165ea022d16SRodney W. Grimes.Ar timeout 166ea022d16SRodney W. Grimesseconds with the 167ea022d16SRodney W. Grimes.Fl T 168ea022d16SRodney W. Grimesoption. 169ea022d16SRodney W. GrimesThe default limit is 2 hours. 1700e063efeSYaroslav Tykhiy.It Fl U 1710e063efeSYaroslav TykhiyIn previous versions of 1720e063efeSYaroslav Tykhiy.Nm , 1730e063efeSYaroslav Tykhiywhen a passive mode client requested a data connection to the server, 1740e063efeSYaroslav Tykhiythe server would use data ports in the range 1024..4999. Now, by default, 1750e063efeSYaroslav Tykhiythe server will use data ports in the range 49152..65535. Specifying this 1760e063efeSYaroslav Tykhiyoption will revert to the old behavior. 177ea022d16SRodney W. Grimes.El 178ea022d16SRodney W. Grimes.Pp 179ea022d16SRodney W. GrimesThe file 1800e510aedSSatoshi Asami.Pa /var/run/nologin 181ea022d16SRodney W. Grimescan be used to disable ftp access. 182ea022d16SRodney W. GrimesIf the file exists, 183ea022d16SRodney W. Grimes.Nm 184ea022d16SRodney W. Grimesdisplays it and exits. 185ea022d16SRodney W. GrimesIf the file 186ea022d16SRodney W. Grimes.Pa /etc/ftpwelcome 187ea022d16SRodney W. Grimesexists, 188ea022d16SRodney W. Grimes.Nm 189ea022d16SRodney W. Grimesprints it before issuing the 190ea022d16SRodney W. Grimes.Dq ready 191ea022d16SRodney W. Grimesmessage. 192ea022d16SRodney W. GrimesIf the file 193025362a7SGary Palmer.Pa /etc/ftpmotd 194ea022d16SRodney W. Grimesexists, 195ea022d16SRodney W. Grimes.Nm 196f97d7807SDavid E. O'Brienprints it after a successful login. Note the motd file used is the one 197f97d7807SDavid E. O'Brienrelative to the login environment. This means the one in 198f97d7807SDavid E. O'Brien.Pa ~ftp/etc 199f97d7807SDavid E. O'Brienin the anonymous user's case. 200ea022d16SRodney W. Grimes.Pp 201ea022d16SRodney W. GrimesThe ftp server currently supports the following ftp requests. 202a4b77a2aSPoul-Henning KampThe case of the requests is ignored. Requests marked [RW] are 203a4b77a2aSPoul-Henning Kampdisabled if 204a4b77a2aSPoul-Henning Kamp.Fl r 205a4b77a2aSPoul-Henning Kampis specified. 206ea022d16SRodney W. Grimes.Bl -column "Request" -offset indent 207e02897faSPhilippe Charnier.It Sy Request Ta Sy "Description" 208ea022d16SRodney W. Grimes.It ABOR Ta "abort previous command" 209ea022d16SRodney W. Grimes.It ACCT Ta "specify account (ignored)" 210ea022d16SRodney W. Grimes.It ALLO Ta "allocate storage (vacuously)" 211a4b77a2aSPoul-Henning Kamp.It APPE Ta "append to a file [RW]" 212ea022d16SRodney W. Grimes.It CDUP Ta "change to parent of current working directory" 213ea022d16SRodney W. Grimes.It CWD Ta "change working directory" 214a4b77a2aSPoul-Henning Kamp.It DELE Ta "delete a file [RW]" 215a4b77a2aSPoul-Henning Kamp.It EPRT Ta "specify data connection port, multiprotocol" 216a4b77a2aSPoul-Henning Kamp.It EPSV Ta "prepare for server-to-server transfer, multiprotocol" 217ea022d16SRodney W. Grimes.It HELP Ta "give help information" 218ea022d16SRodney W. Grimes.It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" 219a4b77a2aSPoul-Henning Kamp.It LPRT Ta "specify data connection port, multiprotocol" 220a4b77a2aSPoul-Henning Kamp.It LPSV Ta "prepare for server-to-server transfer, multiprotocol" 221ea022d16SRodney W. Grimes.It MDTM Ta "show last modification time of file" 222a4b77a2aSPoul-Henning Kamp.It MKD Ta "make a directory [RW]" 223ea022d16SRodney W. Grimes.It MODE Ta "specify data transfer" Em mode 224ea022d16SRodney W. Grimes.It NLST Ta "give name list of files in directory" 225ea022d16SRodney W. Grimes.It NOOP Ta "do nothing" 226ea022d16SRodney W. Grimes.It PASS Ta "specify password" 227ea022d16SRodney W. Grimes.It PASV Ta "prepare for server-to-server transfer" 228ea022d16SRodney W. Grimes.It PORT Ta "specify data connection port" 229ea022d16SRodney W. Grimes.It PWD Ta "print the current working directory" 230ea022d16SRodney W. Grimes.It QUIT Ta "terminate session" 231ea022d16SRodney W. Grimes.It REST Ta "restart incomplete transfer" 232ea022d16SRodney W. Grimes.It RETR Ta "retrieve a file" 233a4b77a2aSPoul-Henning Kamp.It RMD Ta "remove a directory [RW]" 234a4b77a2aSPoul-Henning Kamp.It RNFR Ta "specify rename-from file name [RW]" 235a4b77a2aSPoul-Henning Kamp.It RNTO Ta "specify rename-to file name [RW]" 236ea022d16SRodney W. Grimes.It SITE Ta "non-standard commands (see next section)" 237ea022d16SRodney W. Grimes.It SIZE Ta "return size of file" 238ea022d16SRodney W. Grimes.It STAT Ta "return status of server" 239a4b77a2aSPoul-Henning Kamp.It STOR Ta "store a file [RW]" 240a4b77a2aSPoul-Henning Kamp.It STOU Ta "store a file with a unique name [RW]" 241ea022d16SRodney W. Grimes.It STRU Ta "specify data transfer" Em structure 242ea022d16SRodney W. Grimes.It SYST Ta "show operating system type of server system" 243ea022d16SRodney W. Grimes.It TYPE Ta "specify data transfer" Em type 244ea022d16SRodney W. Grimes.It USER Ta "specify user name" 245ea022d16SRodney W. Grimes.It XCUP Ta "change to parent of current working directory (deprecated)" 246ea022d16SRodney W. Grimes.It XCWD Ta "change working directory (deprecated)" 247a4b77a2aSPoul-Henning Kamp.It XMKD Ta "make a directory (deprecated) [RW]" 248ea022d16SRodney W. Grimes.It XPWD Ta "print the current working directory (deprecated)" 249a4b77a2aSPoul-Henning Kamp.It XRMD Ta "remove a directory (deprecated) [RW]" 250ea022d16SRodney W. Grimes.El 251ea022d16SRodney W. Grimes.Pp 252ea022d16SRodney W. GrimesThe following non-standard or 253ea022d16SRodney W. Grimes.Tn UNIX 254ea022d16SRodney W. Grimesspecific commands are supported 255ea022d16SRodney W. Grimesby the 256ea022d16SRodney W. GrimesSITE request. 257ea022d16SRodney W. Grimes.Pp 258ea022d16SRodney W. Grimes.Bl -column Request -offset indent 259ea022d16SRodney W. Grimes.It Sy Request Ta Sy Description 260ea022d16SRodney W. Grimes.It UMASK Ta change umask, e.g. ``SITE UMASK 002'' 261ea022d16SRodney W. Grimes.It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' 262a4b77a2aSPoul-Henning Kamp.It CHMOD Ta "change mode of a file [RW], e.g. ``SITE CHMOD 755 filename''" 26353ba84a6SPoul-Henning Kamp.It MD5 Ta "report the files MD5 checksum, e.g. ``SITE MD5 filename''" 264e02897faSPhilippe Charnier.It HELP Ta give help information 265ea022d16SRodney W. Grimes.El 266ea022d16SRodney W. Grimes.Pp 2676a01974bSRuslan ErmilovNote: SITE requests are disabled in case of anonymous logins. 2686a01974bSRuslan Ermilov.Pp 269ea022d16SRodney W. GrimesThe remaining ftp requests specified in Internet RFC 959 270ea022d16SRodney W. Grimesare 271ea022d16SRodney W. Grimesrecognized, but not implemented. 272ea022d16SRodney W. GrimesMDTM and SIZE are not specified in RFC 959, but will appear in the 273ea022d16SRodney W. Grimesnext updated FTP RFC. 274ea022d16SRodney W. Grimes.Pp 275ea022d16SRodney W. GrimesThe ftp server will abort an active file transfer only when the 276ea022d16SRodney W. GrimesABOR 277ea022d16SRodney W. Grimescommand is preceded by a Telnet "Interrupt Process" (IP) 278ea022d16SRodney W. Grimessignal and a Telnet "Synch" signal in the command Telnet stream, 279ea022d16SRodney W. Grimesas described in Internet RFC 959. 280ea022d16SRodney W. GrimesIf a 281ea022d16SRodney W. GrimesSTAT 282ea022d16SRodney W. Grimescommand is received during a data transfer, preceded by a Telnet IP 283ea022d16SRodney W. Grimesand Synch, transfer status will be returned. 284ea022d16SRodney W. Grimes.Pp 2853f162cb8SPhilippe CharnierThe 2863f162cb8SPhilippe Charnier.Nm 2873f162cb8SPhilippe Charnierutility interprets file names according to the 288ea022d16SRodney W. Grimes.Dq globbing 289ea022d16SRodney W. Grimesconventions used by 290ea022d16SRodney W. Grimes.Xr csh 1 . 291ea022d16SRodney W. GrimesThis allows users to utilize the metacharacters 292ea022d16SRodney W. Grimes.Dq Li \&*?[]{}~ . 293ea022d16SRodney W. Grimes.Pp 2943f162cb8SPhilippe CharnierThe 2953f162cb8SPhilippe Charnier.Nm 2963f162cb8SPhilippe Charnierutility authenticates users according to six rules. 297ea022d16SRodney W. Grimes.Pp 298ea022d16SRodney W. Grimes.Bl -enum -offset indent 299ea022d16SRodney W. Grimes.It 30042946c82SMike PritchardThe login name must be in the password data base 301ea022d16SRodney W. Grimesand not have a null password. 302ea022d16SRodney W. GrimesIn this case a password must be provided by the client before any 303ea022d16SRodney W. Grimesfile operations may be performed. 304a5a4544eSPaul TrainaIf the user has an S/Key key, the response from a successful USER 30519a05e11SRuslan Ermilovcommand will include an S/Key challenge. 30619a05e11SRuslan ErmilovThe client may choose to respond with a PASS command giving either 30719a05e11SRuslan Ermilova standard password or an S/Key one-time password. 30819a05e11SRuslan ErmilovThe server will automatically determine which type of 30919a05e11SRuslan Ermilovpassword it has been given and attempt to authenticate accordingly. 31019a05e11SRuslan ErmilovSee 311a5a4544eSPaul Traina.Xr key 1 31219a05e11SRuslan Ermilovfor more information on S/Key authentication. 31319a05e11SRuslan ErmilovS/Key is a Trademark of Bellcore. 314ea022d16SRodney W. Grimes.It 315ea022d16SRodney W. GrimesThe login name must not appear in the file 316ea022d16SRodney W. Grimes.Pa /etc/ftpusers . 317ea022d16SRodney W. Grimes.It 31831fea7b8SDavid NugentThe login name must not be a member of a group specified in the file 31931fea7b8SDavid Nugent.Pa /etc/ftpusers . 32031fea7b8SDavid NugentEntries in this file interpreted as group names are prefixed by an "at" 32131fea7b8SDavid Nugent.Ql \&@ 32231fea7b8SDavid Nugentsign. 32331fea7b8SDavid Nugent.It 324ea022d16SRodney W. GrimesThe user must have a standard shell returned by 325ea022d16SRodney W. Grimes.Xr getusershell 3 . 326ea022d16SRodney W. Grimes.It 327a5a4544eSPaul TrainaIf the user name appears in the file 32831fea7b8SDavid Nugent.Pa /etc/ftpchroot , 32931fea7b8SDavid Nugentor the user is a member of a group with a group entry in this file, 33031fea7b8SDavid Nugenti.e. one prefixed with 33131fea7b8SDavid Nugent.Ql \&@ , 332a5a4544eSPaul Trainathe session's root will be changed to the user's login directory by 333a5a4544eSPaul Traina.Xr chroot 2 334a5a4544eSPaul Trainaas for an 335a5a4544eSPaul Traina.Dq anonymous 336a5a4544eSPaul Trainaor 337a5a4544eSPaul Traina.Dq ftp 338b071c689SDavid Nugentaccount (see next item). 33931fea7b8SDavid NugentThis facility may also be triggered by enabling the boolean "ftp-chroot" 340b071c689SDavid Nugentcapability in 341b071c689SDavid Nugent.Xr login.conf 5 . 342b071c689SDavid NugentHowever, the user must still supply a password. 343ea4e54b9SDavid NugentThis feature is intended as a compromise between a fully anonymous 344ea4e54b9SDavid Nugentaccount and a fully privileged account. 34531fea7b8SDavid NugentThe account should also be set up as for an anonymous account. 346a5a4544eSPaul Traina.It 347ea022d16SRodney W. GrimesIf the user name is 348ea022d16SRodney W. Grimes.Dq anonymous 349ea022d16SRodney W. Grimesor 350ea022d16SRodney W. Grimes.Dq ftp , 351ea022d16SRodney W. Grimesan 352ea022d16SRodney W. Grimesanonymous ftp account must be present in the password 353ea022d16SRodney W. Grimesfile (user 354ea022d16SRodney W. Grimes.Dq ftp ) . 355ea022d16SRodney W. GrimesIn this case the user is allowed 356ea022d16SRodney W. Grimesto log in by specifying any password (by convention an email address for 357a5a4544eSPaul Trainathe user should be used as the password). 358a5a4544eSPaul TrainaWhen the 3593eb568f2SGuido van Rooij.Fl S 3603eb568f2SGuido van Rooijoption is set, all transfers are logged as well. 361ea022d16SRodney W. Grimes.El 362ea022d16SRodney W. Grimes.Pp 363ea022d16SRodney W. GrimesIn the last case, 364e02897faSPhilippe Charnier.Nm 365ea022d16SRodney W. Grimestakes special measures to restrict the client's access privileges. 366ea022d16SRodney W. GrimesThe server performs a 367ea022d16SRodney W. Grimes.Xr chroot 2 368ea022d16SRodney W. Grimesto the home directory of the 369ea022d16SRodney W. Grimes.Dq ftp 370ea022d16SRodney W. Grimesuser. 371ea022d16SRodney W. GrimesIn order that system security is not breached, it is recommended 372ea022d16SRodney W. Grimesthat the 373ea022d16SRodney W. Grimes.Dq ftp 374ea022d16SRodney W. Grimessubtree be constructed with care, following these rules: 375ea022d16SRodney W. Grimes.Bl -tag -width "~ftp/pub" -offset indent 376ea022d16SRodney W. Grimes.It Pa ~ftp 377ea022d16SRodney W. GrimesMake the home directory owned by 378ea022d16SRodney W. Grimes.Dq root 379ea022d16SRodney W. Grimesand unwritable by anyone. 380ea022d16SRodney W. Grimes.It Pa ~ftp/etc 381ea022d16SRodney W. GrimesMake this directory owned by 382ea022d16SRodney W. Grimes.Dq root 383ea022d16SRodney W. Grimesand unwritable by anyone (mode 555). 384a5a4544eSPaul TrainaThe files pwd.db (see 385a5a4544eSPaul Traina.Xr passwd 5 ) 386ea022d16SRodney W. Grimesand 387ea022d16SRodney W. Grimes.Xr group 5 388ea022d16SRodney W. Grimesmust be present for the 3893f162cb8SPhilippe Charnier.Xr ls 1 390ea022d16SRodney W. Grimescommand to be able to produce owner names rather than numbers. 391ea022d16SRodney W. GrimesThe password field in 392ea022d16SRodney W. Grimes.Xr passwd 393ea022d16SRodney W. Grimesis not used, and should not contain real passwords. 394ea022d16SRodney W. GrimesThe file 3957253b58bSGary Palmer.Pa ftpmotd , 396ea022d16SRodney W. Grimesif present, will be printed after a successful login. 397ea022d16SRodney W. GrimesThese files should be mode 444. 398ea022d16SRodney W. Grimes.It Pa ~ftp/pub 3999ba6d8e4SMike HeffnerThis directory and the subdirectories beneath it should be owned 4009ba6d8e4SMike Heffnerby the users and groups responsible for placing files in them, 4019ba6d8e4SMike Heffnerand be writable only by them (mode 755 or 775). 4029ba6d8e4SMike HeffnerThey should 4039ba6d8e4SMike Heffner.Em not 404a8838c53SRuslan Ermilovbe owned or writable by 405a8838c53SRuslan Ermilov.Dq ftp 406a8838c53SRuslan Ermilovor its group, otherwise guest users 4079ba6d8e4SMike Heffnercan fill the drive with unwanted files. 408ea022d16SRodney W. Grimes.El 409334ab9fdSDavid Nugent.Pp 410ea4e54b9SDavid NugentIf the system has multiple IP addresses, 411e02897faSPhilippe Charnier.Nm 412ea4e54b9SDavid Nugentsupports the idea of virtual hosts, which provides the ability to 413ea4e54b9SDavid Nugentdefine multiple anonymous ftp areas, each one allocated to a different 414ea4e54b9SDavid Nugentinternet address. 415ea4e54b9SDavid NugentThe file 416ea4e54b9SDavid Nugent.Pa /etc/ftphosts 417ea4e54b9SDavid Nugentcontains information pertaining to each of the virtual hosts. 418ea4e54b9SDavid NugentEach host is defined on its own line which contains a number of 419ea4e54b9SDavid Nugentfields separated by whitespace: 420ea4e54b9SDavid Nugent.Bl -tag -offset indent -width hostname 421ea4e54b9SDavid Nugent.It hostname 422ea4e54b9SDavid NugentContains the hostname or IP address of the virtual host. 423ea4e54b9SDavid Nugent.It user 424ea4e54b9SDavid NugentContains a user record in the system password file. 425ea4e54b9SDavid NugentAs with normal anonymous ftp, this user's access uid, gid and group 426ea4e54b9SDavid Nugentmemberships determine file access to the anonymous ftp area. 427ea4e54b9SDavid NugentThe anonymous ftp area (to which any user is chrooted on login) 428ea4e54b9SDavid Nugentis determined by the home directory defined for the account. 429ea4e54b9SDavid NugentUser id and group for any ftp account may be the same as for the 430ea4e54b9SDavid Nugentstandard ftp user. 431ea4e54b9SDavid Nugent.It statfile 432ea4e54b9SDavid NugentFile to which all file transfers are logged, which 433ea4e54b9SDavid Nugentdefaults to 434ea4e54b9SDavid Nugent.Pa /var/log/ftpd . 435ea4e54b9SDavid Nugent.It welcome 436ea4e54b9SDavid NugentThis file is the welcome message displayed before the server ready 437ea4e54b9SDavid Nugentprompt. 438ea4e54b9SDavid NugentIt defaults to 439ea4e54b9SDavid Nugent.Pa /etc/ftpwelcome . 440ea4e54b9SDavid Nugent.It motd 441ea4e54b9SDavid NugentThis file is displayed after the user logs in. 442ea4e54b9SDavid NugentIt defaults to 443ea4e54b9SDavid Nugent.Pa /etc/ftpmotd . 444ea4e54b9SDavid Nugent.El 445ea4e54b9SDavid Nugent.Pp 446d59b62e3SJoseph KoshyLines beginning with a '#' are ignored and can be used to include 447d59b62e3SJoseph Koshycomments. 448d59b62e3SJoseph Koshy.Pp 449ea4e54b9SDavid NugentDefining a virtual host for the primary IP address or hostname 450ea4e54b9SDavid Nugentchanges the default for ftp logins to that address. 451ea4e54b9SDavid NugentThe 'user', 'statfile', 'welcome' and 'motd' fields may be left 452ea4e54b9SDavid Nugentblank, or a single hypen '-' used to indicate that the default 453ea4e54b9SDavid Nugentvalue is to be used. 454ea4e54b9SDavid Nugent.Pp 455ea4e54b9SDavid NugentAs with any anonymous login configuration, due care must be given 456ea4e54b9SDavid Nugentto setup and maintenance to guard against security related problems. 457ea4e54b9SDavid Nugent.Pp 4583f162cb8SPhilippe CharnierThe 459e02897faSPhilippe Charnier.Nm 4603f162cb8SPhilippe Charnierutility has internal support for handling remote requests to list 461334ab9fdSDavid Nugentfiles, and will not execute 462334ab9fdSDavid Nugent.Pa /bin/ls 46317130647SPeter Wemmin either a chrooted or non-chrooted environment. The 464334ab9fdSDavid Nugent.Pa ~/bin/ls 465334ab9fdSDavid Nugentexecutable need not be placed into the chrooted tree, nor need the 466334ab9fdSDavid Nugent.Pa ~/bin 467334ab9fdSDavid Nugentdirectory exist. 468ea022d16SRodney W. Grimes.Sh FILES 469ea022d16SRodney W. Grimes.Bl -tag -width /etc/ftpwelcome -compact 470ea022d16SRodney W. Grimes.It Pa /etc/ftpusers 471ea022d16SRodney W. GrimesList of unwelcome/restricted users. 472a5a4544eSPaul Traina.It Pa /etc/ftpchroot 473a5a4544eSPaul TrainaList of normal users who should be chroot'd. 474f97d7807SDavid E. O'Brien.It Pa /etc/ftphosts 475f97d7807SDavid E. O'BrienVirtual hosting configuration file. 476ea022d16SRodney W. Grimes.It Pa /etc/ftpwelcome 477ea022d16SRodney W. GrimesWelcome notice. 4787253b58bSGary Palmer.It Pa /etc/ftpmotd 479ea022d16SRodney W. GrimesWelcome notice after login. 4800e510aedSSatoshi Asami.It Pa /var/run/nologin 481ea022d16SRodney W. GrimesDisplayed and access refused. 4823eb568f2SGuido van Rooij.It Pa /var/log/ftpd 4833eb568f2SGuido van RooijLog file for anonymous transfers. 484ea022d16SRodney W. Grimes.El 485ea022d16SRodney W. Grimes.Sh SEE ALSO 486ea022d16SRodney W. Grimes.Xr ftp 1 , 487a5a4544eSPaul Traina.Xr key 1 , 488ea022d16SRodney W. Grimes.Xr getusershell 3 , 489b071c689SDavid Nugent.Xr login.conf 5 , 490cf09a206SDavid Greenman.Xr inetd 8 , 491ea022d16SRodney W. Grimes.Xr syslogd 8 492ea022d16SRodney W. Grimes.Sh BUGS 493ea022d16SRodney W. GrimesThe server must run as the super-user 494ea022d16SRodney W. Grimesto create sockets with privileged port numbers. It maintains 495ea022d16SRodney W. Grimesan effective user id of the logged in user, reverting to 496ea022d16SRodney W. Grimesthe super-user only when binding addresses to sockets. The 497ea022d16SRodney W. Grimespossible security holes have been extensively 498ea022d16SRodney W. Grimesscrutinized, but are possibly incomplete. 499ea022d16SRodney W. Grimes.Sh HISTORY 500ea022d16SRodney W. GrimesThe 501ea022d16SRodney W. Grimes.Nm 5023f162cb8SPhilippe Charnierutility appeared in 503ea022d16SRodney W. Grimes.Bx 4.2 . 5044dd8b5abSYoshinobu InoueIPv6 support was added in WIDE Hydrangea IPv6 stack kit. 505