Annotation of 43BSDTahoe/man/man8/ftpd.8, revision 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.