Annotation of 43BSDTahoe/man/man8/ftpd.8, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1985 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)ftpd.8c     6.4 (Berkeley) 5/28/86
                      6: .\"
                      7: .TH FTPD 8C "April 27, 1985"
                      8: .UC 5
                      9: .SH NAME
                     10: ftpd \- DARPA Internet File Transfer Protocol server
                     11: .SH SYNOPSIS
                     12: .B /etc/ftpd
                     13: [
                     14: .B \-d
                     15: ] [
                     16: .B \-l
                     17: ] [
                     18: .BR \-t timeout
                     19: ]
                     20: .SH DESCRIPTION
                     21: .I Ftpd
                     22: is the DARPA Internet File Transfer Prototocol
                     23: server process.  The server uses the TCP protocol
                     24: and listens at the port specified in the ``ftp''
                     25: service specification; see
                     26: .IR services (5).
                     27: .PP
                     28: If the 
                     29: .B \-d
                     30: option is specified,
                     31: debugging information is written to the syslog.
                     32: .PP
                     33: If the
                     34: .B \-l
                     35: option is specified,
                     36: each ftp session is logged in the syslog.
                     37: .PP
                     38: The ftp server
                     39: will timeout an inactive session after 15 minutes.
                     40: If the
                     41: .B \-t
                     42: option is specified,
                     43: the inactivity timeout period will be set to
                     44: .IR timeout .
                     45: .PP
                     46: The ftp server currently supports the following ftp
                     47: requests;  case is not distinguished.
                     48: .PP
                     49: .nf
                     50: .ta \w'Request        'u
                     51: \fBRequest     Description\fP
                     52: ABOR   abort previous command
                     53: ACCT   specify account (ignored)
                     54: ALLO   allocate storage (vacuously)
                     55: APPE   append to a file
                     56: CDUP   change to parent of current working directory
                     57: CWD    change working directory
                     58: DELE   delete a file
                     59: HELP   give help information
                     60: LIST   give list files in a directory (``ls -lg'')
                     61: MKD    make a directory
                     62: MODE   specify data transfer \fImode\fP
                     63: NLST   give name list of files in directory (``ls'')
                     64: NOOP   do nothing
                     65: PASS   specify password
                     66: PASV   prepare for server-to-server transfer
                     67: PORT   specify data connection port
                     68: PWD    print the current working directory
                     69: QUIT   terminate session
                     70: RETR   retrieve a file
                     71: RMD    remove a directory
                     72: RNFR   specify rename-from file name
                     73: RNTO   specify rename-to file name
                     74: STOR   store a file
                     75: STOU   store a file with a unique name
                     76: STRU   specify data transfer \fIstructure\fP
                     77: TYPE   specify data transfer \fItype\fP
                     78: USER   specify user name
                     79: XCUP   change to parent of current working directory
                     80: XCWD   change working directory
                     81: XMKD   make a directory
                     82: XPWD   print the current working directory
                     83: XRMD   remove a directory
                     84: .fi
                     85: .PP
                     86: The remaining ftp requests specified in Internet RFC 959 are
                     87: recognized, but not implemented.
                     88: .PP
                     89: The ftp server will abort an active file transfer only when the
                     90: ABOR command is preceded by a Telnet "Interrupt Process" (IP)
                     91: signal and a Telnet "Synch" signal in the command Telnet stream,
                     92: as described in Internet RFC 959.
                     93: .PP
                     94: .I Ftpd
                     95: interprets file names according to the ``globbing''
                     96: conventions used by
                     97: .IR csh (1).
                     98: This allows users to utilize the metacharacters ``*?[]{}~''.
                     99: .PP
                    100: .I Ftpd
                    101: authenticates users according to three rules. 
                    102: .IP 1)
                    103: The user name must be in the password data base,
                    104: .IR /etc/passwd ,
                    105: and not have a null password.  In this case a password
                    106: must be provided by the client before any file operations
                    107: may be performed.
                    108: .IP 2)
                    109: The user name must not appear in the file
                    110: .IR /etc/ftpusers .
                    111: .IP 3)
                    112: The user must have a standard shell returned by 
                    113: .IR getusershell (3).
                    114: .IP 4)
                    115: If the user name is ``anonymous'' or ``ftp'', an
                    116: anonymous ftp account must be present in the password
                    117: file (user ``ftp'').  In this case the user is allowed
                    118: to log in by specifying any password (by convention this
                    119: is given as the client host's name).
                    120: .PP
                    121: In the last case, 
                    122: .I ftpd
                    123: takes special measures to restrict the client's access privileges.
                    124: The server performs a 
                    125: .IR chroot (2)
                    126: command to the home directory of the ``ftp'' user.
                    127: In order that system security is not breached, it is recommended
                    128: that the ``ftp'' subtree be constructed with care;  the following
                    129: rules are recommended.
                    130: .IP ~ftp)
                    131: Make the home directory owned by ``ftp'' and unwritable by anyone.
                    132: .IP ~ftp/bin)
                    133: Make this directory owned by the super-user and unwritable by
                    134: anyone.  The program
                    135: .IR ls (1)
                    136: must be present to support the list commands.  This
                    137: program should have mode 111.
                    138: .IP ~ftp/etc)
                    139: Make this directory owned by the super-user and unwritable by
                    140: anyone.  The files
                    141: .IR passwd (5)
                    142: and
                    143: .IR group (5)
                    144: must be present for the 
                    145: .I ls
                    146: command to work properly.  These files should be mode 444.
                    147: .IP ~ftp/pub)
                    148: Make this directory mode 777 and owned by ``ftp''.  Users
                    149: should then place files which are to be accessible via the
                    150: anonymous account in this directory.
                    151: .SH "SEE ALSO"
                    152: ftp(1C), getusershell(3), syslogd(8)
                    153: .SH BUGS
                    154: The anonymous account is inherently dangerous and should
                    155: avoided when possible.
                    156: .PP
                    157: The server must run as the super-user
                    158: to create sockets with privileged port numbers.  It maintains
                    159: an effective user id of the logged in user, reverting to
                    160: the super-user only when binding addresses to sockets.  The
                    161: possible security holes have been extensively
                    162: scrutinized, but are possibly incomplete.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.