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 43c152df28SYaroslav Tykhiy.Op Fl 46ADdEhMmOoRrSUvW 44a206edcdSMike Pritchard.Op Fl l Op Fl l 45105a3c98SJulian Elischer.Op Fl a Ar address 4663591ba5SYaroslav Tykhiy.Op Fl P Ar port 47105a3c98SJulian Elischer.Op Fl p Ar file 480e063efeSYaroslav Tykhiy.Op Fl T Ar maxtimeout 49d939fc70SRuslan Ermilov.Op Fl t Ar timeout 5038ed70b1SYaroslav Tykhiy.Op Fl u Ar umask 51ea022d16SRodney W. Grimes.Sh DESCRIPTION 523f162cb8SPhilippe CharnierThe 533f162cb8SPhilippe Charnier.Nm 543f162cb8SPhilippe Charnierutility is the 55ea022d16SRodney W. GrimesInternet File Transfer Protocol 56c481aa05SRuslan Ermilovserver process. 57c481aa05SRuslan ErmilovThe server uses the 58ea022d16SRodney W. Grimes.Tn TCP 59ea022d16SRodney W. Grimesprotocol 6063591ba5SYaroslav Tykhiyand listens at the port specified with the 6163591ba5SYaroslav Tykhiy.Fl P 6263591ba5SYaroslav Tykhiyoption or in the 63ea022d16SRodney W. Grimes.Dq ftp 64ea022d16SRodney W. Grimesservice specification; see 65ea022d16SRodney W. Grimes.Xr services 5 . 66ea022d16SRodney W. Grimes.Pp 67ea022d16SRodney W. GrimesAvailable options: 68e02897faSPhilippe Charnier.Bl -tag -width indent 6948143587SSheldon Hearn.It Fl 4 7048143587SSheldon HearnWhen 7148143587SSheldon Hearn.Fl D 72206fe568SHajimu UMEMOTOis specified, accept connections via 7353ee59feSRuslan Ermilov.Dv AF_INET 7448143587SSheldon Hearnsocket. 7548143587SSheldon Hearn.It Fl 6 7648143587SSheldon HearnWhen 7748143587SSheldon Hearn.Fl D 7848143587SSheldon Hearnis specified, accept connections via 7948143587SSheldon Hearn.Dv AF_INET6 8048143587SSheldon Hearnsocket. 81d939fc70SRuslan Ermilov.It Fl A 82d939fc70SRuslan ErmilovAllow only anonymous ftp access. 830e063efeSYaroslav Tykhiy.It Fl a 840e063efeSYaroslav TykhiyWhen 850e063efeSYaroslav Tykhiy.Fl D 860e063efeSYaroslav Tykhiyis specified, accept connections only on the specified 870e063efeSYaroslav Tykhiy.Ar address . 88cf09a206SDavid Greenman.It Fl D 89cf09a206SDavid GreenmanWith this option set, 90e02897faSPhilippe Charnier.Nm 91cf09a206SDavid Greenmanwill detach and become a daemon, accepting connections on the FTP port and 9219a05e11SRuslan Ermilovforking children processes to handle them. 9319a05e11SRuslan ErmilovThis is lower overhead than starting 94e02897faSPhilippe Charnier.Nm 95cf09a206SDavid Greenmanfrom 96cf09a206SDavid Greenman.Xr inetd 8 97cf09a206SDavid Greenmanand is thus useful on busy servers to reduce load. 98d939fc70SRuslan Ermilov.It Fl d 99d939fc70SRuslan ErmilovDebugging information is written to the syslog using 100d939fc70SRuslan Ermilov.Dv LOG_FTP . 10148143587SSheldon Hearn.It Fl E 10248143587SSheldon HearnDisable the EPSV command. 10348143587SSheldon HearnThis is useful for servers behind older firewalls. 104c152df28SYaroslav Tykhiy.It Fl h 105c152df28SYaroslav TykhiyDisable printing host-specific information, such as the 106c152df28SYaroslav Tykhiyserver software version or hostname, in server messages. 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. 115d939fc70SRuslan ErmilovBy default, 11648143587SSheldon Hearn.Xr syslogd 8 117d939fc70SRuslan Ermilovlogs these to 118d939fc70SRuslan Ermilov.Pa /var/log/xferlog . 119d939fc70SRuslan Ermilov.It Fl M 120d939fc70SRuslan ErmilovPrevent anonymous users from creating directories. 121a117c345SYaroslav Tykhiy.It Fl m 122a117c345SYaroslav TykhiyPermit anonymous users to overwrite or modify 123a117c345SYaroslav Tykhiyexisting files if allowed by file system permissions. 124a117c345SYaroslav TykhiyBy default, anonymous users cannot modify existing files; 125a117c345SYaroslav Tykhiyin particular, files to upload will be created under a unique name. 1260e063efeSYaroslav Tykhiy.It Fl O 1270e063efeSYaroslav TykhiyPut server in write-only mode for anonymous users only. 1280e063efeSYaroslav TykhiyRETR is disabled for anonymous users, preventing anonymous downloads. 1290e063efeSYaroslav TykhiyThis has no effect if 1300e063efeSYaroslav Tykhiy.Fl o 1310e063efeSYaroslav Tykhiyis also specified. 132d939fc70SRuslan Ermilov.It Fl o 133d939fc70SRuslan ErmilovPut server in write-only mode. 134d939fc70SRuslan ErmilovRETR is disabled, preventing downloads. 13563591ba5SYaroslav Tykhiy.It Fl P 13663591ba5SYaroslav TykhiyWhen 13763591ba5SYaroslav Tykhiy.Fl D 13863591ba5SYaroslav Tykhiyis specified, accept connections at 13963591ba5SYaroslav Tykhiy.Ar port , 14063591ba5SYaroslav Tykhiyspecified as a numeric value or service name, instead of at the default 14163591ba5SYaroslav Tykhiy.Dq ftp 14263591ba5SYaroslav Tykhiyport. 1430e063efeSYaroslav Tykhiy.It Fl p 1440e063efeSYaroslav TykhiyWhen 1450e063efeSYaroslav Tykhiy.Fl D 1460e063efeSYaroslav Tykhiyis specified, write the daemon's process ID to 147125b9635SYaroslav Tykhiy.Ar file 148125b9635SYaroslav Tykhiyinstead of the default pid file, 149125b9635SYaroslav Tykhiy.Pa /var/run/ftpd.pid . 1500e063efeSYaroslav Tykhiy.It Fl R 1510e063efeSYaroslav TykhiyWith this option set, 1520e063efeSYaroslav Tykhiy.Nm 1530e063efeSYaroslav Tykhiywill revert to historical behavior with regard to security checks on 1540e063efeSYaroslav Tykhiyuser operations and restrictions on PORT requests. 1550e063efeSYaroslav TykhiyCurrently, 1560e063efeSYaroslav Tykhiy.Nm 1570e063efeSYaroslav Tykhiywill only honor PORT commands directed to unprivileged ports on the 1580e063efeSYaroslav Tykhiyremote user's host (which violates the FTP protocol specification but 1590e063efeSYaroslav Tykhiycloses some security holes). 160d939fc70SRuslan Ermilov.It Fl r 161d939fc70SRuslan ErmilovPut server in read-only mode. 162d939fc70SRuslan ErmilovAll commands which may modify the local file system are disabled. 1630e063efeSYaroslav Tykhiy.It Fl S 1640e063efeSYaroslav TykhiyWith this option set, 1650e063efeSYaroslav Tykhiy.Nm 1660e063efeSYaroslav Tykhiylogs all anonymous file downloads to the file 1670e063efeSYaroslav Tykhiy.Pa /var/log/ftpd 1680e063efeSYaroslav Tykhiywhen this file exists. 169ea022d16SRodney W. Grimes.It Fl T 170ea022d16SRodney W. GrimesA client may also request a different timeout period; 171ea022d16SRodney W. Grimesthe maximum period allowed may be set to 172ea022d16SRodney W. Grimes.Ar timeout 173ea022d16SRodney W. Grimesseconds with the 174ea022d16SRodney W. Grimes.Fl T 175ea022d16SRodney W. Grimesoption. 176ea022d16SRodney W. GrimesThe default limit is 2 hours. 177d939fc70SRuslan Ermilov.It Fl t 178d939fc70SRuslan ErmilovThe inactivity timeout period is set to 179d939fc70SRuslan Ermilov.Ar timeout 180d939fc70SRuslan Ermilovseconds (the default is 15 minutes). 1810e063efeSYaroslav Tykhiy.It Fl U 182d28af255SMike SilbersackThis option instructs ftpd to use data ports in the range of 183c00ee5e5SRuslan Ermilov.Dv IP_PORTRANGE_DEFAULT 184c00ee5e5SRuslan Ermilovinstead of in the range of 185c00ee5e5SRuslan Ermilov.Dv IP_PORTRANGE_HIGH . 186d28af255SMike SilbersackSuch a change may be useful for some specific firewall configurations; 187d28af255SMike Silbersacksee 188d28af255SMike Silbersack.Xr ip 4 189d28af255SMike Silbersackfor more information. 190d28af255SMike Silbersack.Pp 191c00ee5e5SRuslan ErmilovNote that option is a virtual no-op in 192c00ee5e5SRuslan Ermilov.Fx 5.0 193c00ee5e5SRuslan Ermilovand above; both port 194d28af255SMike Silbersackranges are indentical by default. 195d939fc70SRuslan Ermilov.It Fl u 196d939fc70SRuslan ErmilovThe default file creation mode mask is set to 197d939fc70SRuslan Ermilov.Ar umask , 198d939fc70SRuslan Ermilovwhich is expected to be an octal numeric value. 199d939fc70SRuslan ErmilovRefer to 200d939fc70SRuslan Ermilov.Xr umask 2 201d939fc70SRuslan Ermilovfor details. 202a707b683SCeri DaviesThis option may be overridden by 203a707b683SCeri Davies.Xr login.conf 5 . 20493bd9dc5SYaroslav Tykhiy.It Fl v 20593bd9dc5SYaroslav TykhiyA synonym for 20693bd9dc5SYaroslav Tykhiy.Fl d . 2075d7e0128SYaroslav Tykhiy.It Fl W 208d939fc70SRuslan ErmilovDo not log FTP sessions to 2095d7e0128SYaroslav Tykhiy.Pa /var/log/wtmp . 210ea022d16SRodney W. Grimes.El 211ea022d16SRodney W. Grimes.Pp 212ea022d16SRodney W. GrimesThe file 2130e510aedSSatoshi Asami.Pa /var/run/nologin 214ea022d16SRodney W. Grimescan be used to disable ftp access. 215ea022d16SRodney W. GrimesIf the file exists, 216ea022d16SRodney W. Grimes.Nm 217ea022d16SRodney W. Grimesdisplays it and exits. 218ea022d16SRodney W. GrimesIf the file 219ea022d16SRodney W. Grimes.Pa /etc/ftpwelcome 220ea022d16SRodney W. Grimesexists, 221ea022d16SRodney W. Grimes.Nm 222ea022d16SRodney W. Grimesprints it before issuing the 223ea022d16SRodney W. Grimes.Dq ready 224ea022d16SRodney W. Grimesmessage. 225ea022d16SRodney W. GrimesIf the file 226025362a7SGary Palmer.Pa /etc/ftpmotd 227ea022d16SRodney W. Grimesexists, 228ea022d16SRodney W. Grimes.Nm 229c481aa05SRuslan Ermilovprints it after a successful login. 230c481aa05SRuslan ErmilovNote the motd file used is the one 231c481aa05SRuslan Ermilovrelative to the login environment. 232c481aa05SRuslan ErmilovThis means the one in 233f97d7807SDavid E. O'Brien.Pa ~ftp/etc 234f97d7807SDavid E. O'Brienin the anonymous user's case. 235ea022d16SRodney W. Grimes.Pp 236ea022d16SRodney W. GrimesThe ftp server currently supports the following ftp requests. 237c481aa05SRuslan ErmilovThe case of the requests is ignored. 238c481aa05SRuslan ErmilovRequests marked [RW] are 239a4b77a2aSPoul-Henning Kampdisabled if 240a4b77a2aSPoul-Henning Kamp.Fl r 241a4b77a2aSPoul-Henning Kampis specified. 242ea022d16SRodney W. Grimes.Bl -column "Request" -offset indent 243e02897faSPhilippe Charnier.It Sy Request Ta Sy "Description" 244ea022d16SRodney W. Grimes.It ABOR Ta "abort previous command" 245ea022d16SRodney W. Grimes.It ACCT Ta "specify account (ignored)" 246ea022d16SRodney W. Grimes.It ALLO Ta "allocate storage (vacuously)" 247a4b77a2aSPoul-Henning Kamp.It APPE Ta "append to a file [RW]" 248ea022d16SRodney W. Grimes.It CDUP Ta "change to parent of current working directory" 249ea022d16SRodney W. Grimes.It CWD Ta "change working directory" 250a4b77a2aSPoul-Henning Kamp.It DELE Ta "delete a file [RW]" 251a4b77a2aSPoul-Henning Kamp.It EPRT Ta "specify data connection port, multiprotocol" 252a4b77a2aSPoul-Henning Kamp.It EPSV Ta "prepare for server-to-server transfer, multiprotocol" 253ea022d16SRodney W. Grimes.It HELP Ta "give help information" 254ea022d16SRodney W. Grimes.It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" 255a4b77a2aSPoul-Henning Kamp.It LPRT Ta "specify data connection port, multiprotocol" 256a4b77a2aSPoul-Henning Kamp.It LPSV Ta "prepare for server-to-server transfer, multiprotocol" 257ea022d16SRodney W. Grimes.It MDTM Ta "show last modification time of file" 258a4b77a2aSPoul-Henning Kamp.It MKD Ta "make a directory [RW]" 259ea022d16SRodney W. Grimes.It MODE Ta "specify data transfer" Em mode 260ea022d16SRodney W. Grimes.It NLST Ta "give name list of files in directory" 261ea022d16SRodney W. Grimes.It NOOP Ta "do nothing" 262ea022d16SRodney W. Grimes.It PASS Ta "specify password" 263ea022d16SRodney W. Grimes.It PASV Ta "prepare for server-to-server transfer" 264ea022d16SRodney W. Grimes.It PORT Ta "specify data connection port" 265ea022d16SRodney W. Grimes.It PWD Ta "print the current working directory" 266ea022d16SRodney W. Grimes.It QUIT Ta "terminate session" 267ea022d16SRodney W. Grimes.It REST Ta "restart incomplete transfer" 268ea022d16SRodney W. Grimes.It RETR Ta "retrieve a file" 269a4b77a2aSPoul-Henning Kamp.It RMD Ta "remove a directory [RW]" 270a4b77a2aSPoul-Henning Kamp.It RNFR Ta "specify rename-from file name [RW]" 271a4b77a2aSPoul-Henning Kamp.It RNTO Ta "specify rename-to file name [RW]" 272ea022d16SRodney W. Grimes.It SITE Ta "non-standard commands (see next section)" 273ea022d16SRodney W. Grimes.It SIZE Ta "return size of file" 274ea022d16SRodney W. Grimes.It STAT Ta "return status of server" 275a4b77a2aSPoul-Henning Kamp.It STOR Ta "store a file [RW]" 276a4b77a2aSPoul-Henning Kamp.It STOU Ta "store a file with a unique name [RW]" 277ea022d16SRodney W. Grimes.It STRU Ta "specify data transfer" Em structure 278ea022d16SRodney W. Grimes.It SYST Ta "show operating system type of server system" 279ea022d16SRodney W. Grimes.It TYPE Ta "specify data transfer" Em type 280ea022d16SRodney W. Grimes.It USER Ta "specify user name" 281ea022d16SRodney W. Grimes.It XCUP Ta "change to parent of current working directory (deprecated)" 282ea022d16SRodney W. Grimes.It XCWD Ta "change working directory (deprecated)" 283a4b77a2aSPoul-Henning Kamp.It XMKD Ta "make a directory (deprecated) [RW]" 284ea022d16SRodney W. Grimes.It XPWD Ta "print the current working directory (deprecated)" 285a4b77a2aSPoul-Henning Kamp.It XRMD Ta "remove a directory (deprecated) [RW]" 286ea022d16SRodney W. Grimes.El 287ea022d16SRodney W. Grimes.Pp 288ea022d16SRodney W. GrimesThe following non-standard or 289d939fc70SRuslan Ermilov.Ux 290ea022d16SRodney W. Grimesspecific commands are supported 291ea022d16SRodney W. Grimesby the 292ea022d16SRodney W. GrimesSITE request. 293ea022d16SRodney W. Grimes.Pp 294ea022d16SRodney W. Grimes.Bl -column Request -offset indent 295ea022d16SRodney W. Grimes.It Sy Request Ta Sy Description 296ea022d16SRodney W. Grimes.It UMASK Ta change umask, e.g. ``SITE UMASK 002'' 297ea022d16SRodney W. Grimes.It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' 298a4b77a2aSPoul-Henning Kamp.It CHMOD Ta "change mode of a file [RW], e.g. ``SITE CHMOD 755 filename''" 29953ba84a6SPoul-Henning Kamp.It MD5 Ta "report the files MD5 checksum, e.g. ``SITE MD5 filename''" 300e02897faSPhilippe Charnier.It HELP Ta give help information 301ea022d16SRodney W. Grimes.El 302ea022d16SRodney W. Grimes.Pp 3036a01974bSRuslan ErmilovNote: SITE requests are disabled in case of anonymous logins. 3046a01974bSRuslan Ermilov.Pp 305ea022d16SRodney W. GrimesThe remaining ftp requests specified in Internet RFC 959 306ea022d16SRodney W. Grimesare 307ea022d16SRodney W. Grimesrecognized, but not implemented. 308ea022d16SRodney W. GrimesMDTM and SIZE are not specified in RFC 959, but will appear in the 309ea022d16SRodney W. Grimesnext updated FTP RFC. 310255a7037SYaroslav TykhiyTo avoid possible denial-of-service attacks, SIZE requests against 311255a7037SYaroslav Tykhiyfiles larger than 10240 bytes will be denied if the current transfer 312255a7037SYaroslav Tykhiytype is ASCII. 313ea022d16SRodney W. Grimes.Pp 314ea022d16SRodney W. GrimesThe ftp server will abort an active file transfer only when the 315ea022d16SRodney W. GrimesABOR 316ea022d16SRodney W. Grimescommand is preceded by a Telnet "Interrupt Process" (IP) 317ea022d16SRodney W. Grimessignal and a Telnet "Synch" signal in the command Telnet stream, 318ea022d16SRodney W. Grimesas described in Internet RFC 959. 319ea022d16SRodney W. GrimesIf a 320ea022d16SRodney W. GrimesSTAT 321ea022d16SRodney W. Grimescommand is received during a data transfer, preceded by a Telnet IP 322ea022d16SRodney W. Grimesand Synch, transfer status will be returned. 323ea022d16SRodney W. Grimes.Pp 3243f162cb8SPhilippe CharnierThe 3253f162cb8SPhilippe Charnier.Nm 3263f162cb8SPhilippe Charnierutility interprets file names according to the 327ea022d16SRodney W. Grimes.Dq globbing 328ea022d16SRodney W. Grimesconventions used by 329ea022d16SRodney W. Grimes.Xr csh 1 . 330ea022d16SRodney W. GrimesThis allows users to utilize the metacharacters 331ea022d16SRodney W. Grimes.Dq Li \&*?[]{}~ . 332ea022d16SRodney W. Grimes.Pp 3333f162cb8SPhilippe CharnierThe 3343f162cb8SPhilippe Charnier.Nm 3353f162cb8SPhilippe Charnierutility authenticates users according to six rules. 336ea022d16SRodney W. Grimes.Pp 337ea022d16SRodney W. Grimes.Bl -enum -offset indent 338ea022d16SRodney W. Grimes.It 33942946c82SMike PritchardThe login name must be in the password data base 340ea022d16SRodney W. Grimesand not have a null password. 341ea022d16SRodney W. GrimesIn this case a password must be provided by the client before any 342ea022d16SRodney W. Grimesfile operations may be performed. 343a5a4544eSPaul TrainaIf the user has an S/Key key, the response from a successful USER 34419a05e11SRuslan Ermilovcommand will include an S/Key challenge. 34519a05e11SRuslan ErmilovThe client may choose to respond with a PASS command giving either 34619a05e11SRuslan Ermilova standard password or an S/Key one-time password. 34719a05e11SRuslan ErmilovThe server will automatically determine which type of 34819a05e11SRuslan Ermilovpassword it has been given and attempt to authenticate accordingly. 34919a05e11SRuslan ErmilovSee 350a5a4544eSPaul Traina.Xr key 1 35119a05e11SRuslan Ermilovfor more information on S/Key authentication. 35219a05e11SRuslan ErmilovS/Key is a Trademark of Bellcore. 353ea022d16SRodney W. Grimes.It 354ea022d16SRodney W. GrimesThe login name must not appear in the file 355ea022d16SRodney W. Grimes.Pa /etc/ftpusers . 356ea022d16SRodney W. Grimes.It 35731fea7b8SDavid NugentThe login name must not be a member of a group specified in the file 35831fea7b8SDavid Nugent.Pa /etc/ftpusers . 35931fea7b8SDavid NugentEntries in this file interpreted as group names are prefixed by an "at" 36031fea7b8SDavid Nugent.Ql \&@ 36131fea7b8SDavid Nugentsign. 36231fea7b8SDavid Nugent.It 363ea022d16SRodney W. GrimesThe user must have a standard shell returned by 364ea022d16SRodney W. Grimes.Xr getusershell 3 . 365ea022d16SRodney W. Grimes.It 366a5a4544eSPaul TrainaIf the user name appears in the file 36731fea7b8SDavid Nugent.Pa /etc/ftpchroot , 36831fea7b8SDavid Nugentor the user is a member of a group with a group entry in this file, 369c481aa05SRuslan Ermilovi.e., one prefixed with 37031fea7b8SDavid Nugent.Ql \&@ , 3718657b576SYaroslav Tykhiythe session's root will be changed to the directory specified 3728657b576SYaroslav Tykhiyin this file or to the user's login directory by 373a5a4544eSPaul Traina.Xr chroot 2 374a5a4544eSPaul Trainaas for an 375a5a4544eSPaul Traina.Dq anonymous 376a5a4544eSPaul Trainaor 377a5a4544eSPaul Traina.Dq ftp 378b071c689SDavid Nugentaccount (see next item). 3798657b576SYaroslav TykhiySee 3808657b576SYaroslav Tykhiy.Xr ftpchroot 5 3818657b576SYaroslav Tykhiyfor a detailed description of the format of this file. 38231fea7b8SDavid NugentThis facility may also be triggered by enabling the boolean "ftp-chroot" 383b071c689SDavid Nugentcapability in 384b071c689SDavid Nugent.Xr login.conf 5 . 385b071c689SDavid NugentHowever, the user must still supply a password. 386ea4e54b9SDavid NugentThis feature is intended as a compromise between a fully anonymous 387ea4e54b9SDavid Nugentaccount and a fully privileged account. 38831fea7b8SDavid NugentThe account should also be set up as for an anonymous account. 389a5a4544eSPaul Traina.It 390ea022d16SRodney W. GrimesIf the user name is 391ea022d16SRodney W. Grimes.Dq anonymous 392ea022d16SRodney W. Grimesor 393ea022d16SRodney W. Grimes.Dq ftp , 394ea022d16SRodney W. Grimesan 395ea022d16SRodney W. Grimesanonymous ftp account must be present in the password 396ea022d16SRodney W. Grimesfile (user 397ea022d16SRodney W. Grimes.Dq ftp ) . 398ea022d16SRodney W. GrimesIn this case the user is allowed 399ea022d16SRodney W. Grimesto log in by specifying any password (by convention an email address for 400a5a4544eSPaul Trainathe user should be used as the password). 401a5a4544eSPaul TrainaWhen the 4023eb568f2SGuido van Rooij.Fl S 4033eb568f2SGuido van Rooijoption is set, all transfers are logged as well. 404ea022d16SRodney W. Grimes.El 405ea022d16SRodney W. Grimes.Pp 406ea022d16SRodney W. GrimesIn the last case, 407e02897faSPhilippe Charnier.Nm 408ea022d16SRodney W. Grimestakes special measures to restrict the client's access privileges. 409ea022d16SRodney W. GrimesThe server performs a 410ea022d16SRodney W. Grimes.Xr chroot 2 411ea022d16SRodney W. Grimesto the home directory of the 412ea022d16SRodney W. Grimes.Dq ftp 413ea022d16SRodney W. Grimesuser. 414ce9287fcSYaroslav TykhiyAs a special case if the 415ce9287fcSYaroslav Tykhiy.Dq ftp 416ce9287fcSYaroslav Tykhiyuser's home directory pathname contains the 417ace5be68SRuslan Ermilov.Pa /./ 418ce9287fcSYaroslav Tykhiyseparator, 419ce9287fcSYaroslav Tykhiy.Nm 420ce9287fcSYaroslav Tykhiyuses its left-hand side as the name of the directory to do 421ce9287fcSYaroslav Tykhiy.Xr chroot 2 422ce9287fcSYaroslav Tykhiyto, and its right-hand side to change the current directory to afterwards. 423ce9287fcSYaroslav TykhiyA typical example for this case would be 424ce9287fcSYaroslav Tykhiy.Pa /usr/local/ftp/./pub . 425ea022d16SRodney W. GrimesIn order that system security is not breached, it is recommended 426ea022d16SRodney W. Grimesthat the 427ea022d16SRodney W. Grimes.Dq ftp 428ea022d16SRodney W. Grimessubtree be constructed with care, following these rules: 429ea022d16SRodney W. Grimes.Bl -tag -width "~ftp/pub" -offset indent 430ea022d16SRodney W. Grimes.It Pa ~ftp 431ea022d16SRodney W. GrimesMake the home directory owned by 432ea022d16SRodney W. Grimes.Dq root 433ea022d16SRodney W. Grimesand unwritable by anyone. 434ea022d16SRodney W. Grimes.It Pa ~ftp/etc 435ea022d16SRodney W. GrimesMake this directory owned by 436ea022d16SRodney W. Grimes.Dq root 437ea022d16SRodney W. Grimesand unwritable by anyone (mode 555). 438a5a4544eSPaul TrainaThe files pwd.db (see 439a5a4544eSPaul Traina.Xr passwd 5 ) 440ea022d16SRodney W. Grimesand 441ea022d16SRodney W. Grimes.Xr group 5 442ea022d16SRodney W. Grimesmust be present for the 4433f162cb8SPhilippe Charnier.Xr ls 1 444ea022d16SRodney W. Grimescommand to be able to produce owner names rather than numbers. 445ea022d16SRodney W. GrimesThe password field in 44642161502SPhilippe Charnier.Xr passwd 5 447ea022d16SRodney W. Grimesis not used, and should not contain real passwords. 448ea022d16SRodney W. GrimesThe file 4497253b58bSGary Palmer.Pa ftpmotd , 450ea022d16SRodney W. Grimesif present, will be printed after a successful login. 451ea022d16SRodney W. GrimesThese files should be mode 444. 452ea022d16SRodney W. Grimes.It Pa ~ftp/pub 4539ba6d8e4SMike HeffnerThis directory and the subdirectories beneath it should be owned 4549ba6d8e4SMike Heffnerby the users and groups responsible for placing files in them, 4559ba6d8e4SMike Heffnerand be writable only by them (mode 755 or 775). 4569ba6d8e4SMike HeffnerThey should 4579ba6d8e4SMike Heffner.Em not 458a8838c53SRuslan Ermilovbe owned or writable by 459a8838c53SRuslan Ermilov.Dq ftp 460a8838c53SRuslan Ermilovor its group, otherwise guest users 4619ba6d8e4SMike Heffnercan fill the drive with unwanted files. 462ea022d16SRodney W. Grimes.El 463334ab9fdSDavid Nugent.Pp 464ea4e54b9SDavid NugentIf the system has multiple IP addresses, 465e02897faSPhilippe Charnier.Nm 466ea4e54b9SDavid Nugentsupports the idea of virtual hosts, which provides the ability to 467ea4e54b9SDavid Nugentdefine multiple anonymous ftp areas, each one allocated to a different 468ea4e54b9SDavid Nugentinternet address. 469ea4e54b9SDavid NugentThe file 470ea4e54b9SDavid Nugent.Pa /etc/ftphosts 471ea4e54b9SDavid Nugentcontains information pertaining to each of the virtual hosts. 472ea4e54b9SDavid NugentEach host is defined on its own line which contains a number of 473ea4e54b9SDavid Nugentfields separated by whitespace: 474ea4e54b9SDavid Nugent.Bl -tag -offset indent -width hostname 475ea4e54b9SDavid Nugent.It hostname 476ea4e54b9SDavid NugentContains the hostname or IP address of the virtual host. 477ea4e54b9SDavid Nugent.It user 478ea4e54b9SDavid NugentContains a user record in the system password file. 479ea4e54b9SDavid NugentAs with normal anonymous ftp, this user's access uid, gid and group 480ea4e54b9SDavid Nugentmemberships determine file access to the anonymous ftp area. 481ea4e54b9SDavid NugentThe anonymous ftp area (to which any user is chrooted on login) 482ea4e54b9SDavid Nugentis determined by the home directory defined for the account. 483ea4e54b9SDavid NugentUser id and group for any ftp account may be the same as for the 484ea4e54b9SDavid Nugentstandard ftp user. 485ea4e54b9SDavid Nugent.It statfile 486ea4e54b9SDavid NugentFile to which all file transfers are logged, which 487ea4e54b9SDavid Nugentdefaults to 488ea4e54b9SDavid Nugent.Pa /var/log/ftpd . 489ea4e54b9SDavid Nugent.It welcome 490ea4e54b9SDavid NugentThis file is the welcome message displayed before the server ready 491ea4e54b9SDavid Nugentprompt. 492ea4e54b9SDavid NugentIt defaults to 493ea4e54b9SDavid Nugent.Pa /etc/ftpwelcome . 494ea4e54b9SDavid Nugent.It motd 495ea4e54b9SDavid NugentThis file is displayed after the user logs in. 496ea4e54b9SDavid NugentIt defaults to 497ea4e54b9SDavid Nugent.Pa /etc/ftpmotd . 498ea4e54b9SDavid Nugent.El 499ea4e54b9SDavid Nugent.Pp 500d59b62e3SJoseph KoshyLines beginning with a '#' are ignored and can be used to include 501d59b62e3SJoseph Koshycomments. 502d59b62e3SJoseph Koshy.Pp 503ea4e54b9SDavid NugentDefining a virtual host for the primary IP address or hostname 504ea4e54b9SDavid Nugentchanges the default for ftp logins to that address. 505ea4e54b9SDavid NugentThe 'user', 'statfile', 'welcome' and 'motd' fields may be left 50657bd0fc6SJens Schweikhardtblank, or a single hyphen '-' used to indicate that the default 507ea4e54b9SDavid Nugentvalue is to be used. 508ea4e54b9SDavid Nugent.Pp 509ea4e54b9SDavid NugentAs with any anonymous login configuration, due care must be given 510ea4e54b9SDavid Nugentto setup and maintenance to guard against security related problems. 511ea4e54b9SDavid Nugent.Pp 5123f162cb8SPhilippe CharnierThe 513e02897faSPhilippe Charnier.Nm 5143f162cb8SPhilippe Charnierutility has internal support for handling remote requests to list 515334ab9fdSDavid Nugentfiles, and will not execute 516334ab9fdSDavid Nugent.Pa /bin/ls 517c481aa05SRuslan Ermilovin either a chrooted or non-chrooted environment. 518c481aa05SRuslan ErmilovThe 519334ab9fdSDavid Nugent.Pa ~/bin/ls 520334ab9fdSDavid Nugentexecutable need not be placed into the chrooted tree, nor need the 521334ab9fdSDavid Nugent.Pa ~/bin 522334ab9fdSDavid Nugentdirectory exist. 523ea022d16SRodney W. Grimes.Sh FILES 524125b9635SYaroslav Tykhiy.Bl -tag -width ".Pa /var/run/ftpd.pid" -compact 525ea022d16SRodney W. Grimes.It Pa /etc/ftpusers 526ea022d16SRodney W. GrimesList of unwelcome/restricted users. 527a5a4544eSPaul Traina.It Pa /etc/ftpchroot 528a5a4544eSPaul TrainaList of normal users who should be chroot'd. 529f97d7807SDavid E. O'Brien.It Pa /etc/ftphosts 530f97d7807SDavid E. O'BrienVirtual hosting configuration file. 531ea022d16SRodney W. Grimes.It Pa /etc/ftpwelcome 532ea022d16SRodney W. GrimesWelcome notice. 5337253b58bSGary Palmer.It Pa /etc/ftpmotd 534ea022d16SRodney W. GrimesWelcome notice after login. 535125b9635SYaroslav Tykhiy.It Pa /var/run/ftpd.pid 536125b9635SYaroslav TykhiyDefault pid file for daemon mode. 5370e510aedSSatoshi Asami.It Pa /var/run/nologin 538ea022d16SRodney W. GrimesDisplayed and access refused. 5393eb568f2SGuido van Rooij.It Pa /var/log/ftpd 5403eb568f2SGuido van RooijLog file for anonymous transfers. 541d939fc70SRuslan Ermilov.It Pa /var/log/xferlog 542d939fc70SRuslan ErmilovDefault place for session logs. 543ea022d16SRodney W. Grimes.El 544ea022d16SRodney W. Grimes.Sh SEE ALSO 545ea022d16SRodney W. Grimes.Xr ftp 1 , 546a5a4544eSPaul Traina.Xr key 1 , 54738ed70b1SYaroslav Tykhiy.Xr umask 2 , 548ea022d16SRodney W. Grimes.Xr getusershell 3 , 5498657b576SYaroslav Tykhiy.Xr ftpchroot 5 , 550b071c689SDavid Nugent.Xr login.conf 5 , 551cf09a206SDavid Greenman.Xr inetd 8 , 552ea022d16SRodney W. Grimes.Xr syslogd 8 553a3ac07a5SRuslan Ermilov.Sh HISTORY 554a3ac07a5SRuslan ErmilovThe 555a3ac07a5SRuslan Ermilov.Nm 556a3ac07a5SRuslan Ermilovutility appeared in 557a3ac07a5SRuslan Ermilov.Bx 4.2 . 558a3ac07a5SRuslan ErmilovIPv6 support was added in WIDE Hydrangea IPv6 stack kit. 559ea022d16SRodney W. Grimes.Sh BUGS 560ea022d16SRodney W. GrimesThe server must run as the super-user 561c481aa05SRuslan Ermilovto create sockets with privileged port numbers. 562c481aa05SRuslan ErmilovIt maintains 563ea022d16SRodney W. Grimesan effective user id of the logged in user, reverting to 564c481aa05SRuslan Ermilovthe super-user only when binding addresses to sockets. 565c481aa05SRuslan ErmilovThe 566ea022d16SRodney W. Grimespossible security holes have been extensively 567ea022d16SRodney W. Grimesscrutinized, but are possibly incomplete. 568