|
|
1.1 ! root 1: .TH FTPD 8C "4 March 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: ftpd \- DARPA Internet File Transfer Protocol server ! 5: .SH SYNOPSIS ! 6: .B /etc/ftpd ! 7: [ ! 8: .B \-d ! 9: ] [ ! 10: .B \-l ! 11: ] [ ! 12: .BR \-t timeout ! 13: ] ! 14: .SH DESCRIPTION ! 15: .I Ftpd ! 16: is the DARPA Internet File Transfer Prototocol ! 17: server process. The server uses the TCP protocol ! 18: and listens at the port specified in the ``ftp'' ! 19: service specification; see ! 20: .IR services (5). ! 21: .PP ! 22: If the ! 23: .B \-d ! 24: option is specified, ! 25: each socket created will have debugging turned ! 26: on (SO_DEBUG). With debugging enabled, the system ! 27: will trace all TCP packets sent and received on a ! 28: socket. The program ! 29: .IR trpt (8C) ! 30: may then be used to interpret the packet traces. ! 31: .PP ! 32: If the ! 33: .B \-l ! 34: option is specified, ! 35: each ftp session is logged on the standard output. ! 36: This allows a line of the form ! 37: `/etc/ftpd -l > /tmp/ftplog'' ! 38: to be used to conveniently maintain a log of ftp sessions. ! 39: .PP ! 40: The ftp server ! 41: will timeout an inactive session after 60 seconds. ! 42: If the ! 43: .B \-t ! 44: option is specified, ! 45: the inactivity timeout period will be set to ! 46: .IR timeout . ! 47: .PP ! 48: The ftp server currently supports the following ftp ! 49: requests; case is not distinguished. ! 50: .PP ! 51: .nf ! 52: .ta \w'Request 'u ! 53: \fBRequest Description\fP ! 54: ACCT specify account (ignored) ! 55: ALLO allocate storage (vacuously) ! 56: APPE append to a file ! 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: MODE specify data transfer \fImode\fP ! 62: NLST give name list of files in directory (``ls'') ! 63: NOOP do nothing ! 64: PASS specify password ! 65: PORT specify data connection port ! 66: QUIT terminate session ! 67: RETR retrieve a file ! 68: RNFR specify rename-from file name ! 69: RNTO specify rename-to file name ! 70: STOR store a file ! 71: STRU specify data transfer \fIstructure\fP ! 72: TYPE specify data transfer \fItype\fP ! 73: USER specify user name ! 74: XCUP change to parent of current working directory ! 75: XCWD change working directory ! 76: XMKD make a directory ! 77: XPWD print the current working directory ! 78: XRMD remove a directory ! 79: .fi ! 80: .PP ! 81: The remaining ftp requests specified in Internet RFC 765 are ! 82: recognized, but not implemented. ! 83: .PP ! 84: .I Ftpd ! 85: interprets file names according to the ``globbing'' ! 86: conventions used by ! 87: .IR csh (1). ! 88: This allows users to utilize the metacharacters ``*?[]{}~''. ! 89: .PP ! 90: .I Ftpd ! 91: authenticates users according to three rules. ! 92: .IP 1) ! 93: The user name must be in the password data base, ! 94: .IR /etc/passwd , ! 95: and not have a null password. In this case a password ! 96: must be provided by the client before any file operations ! 97: may be performed. ! 98: .IP 2) ! 99: The user name must not appear in the file ! 100: .IR /etc/ftpusers . ! 101: .IP 3) ! 102: If the user name is ``anonymous'' or ``ftp'', an ! 103: anonymous ftp account must be present in the password ! 104: file (user ``ftp''). In this case the user is allowed ! 105: to log in by specifying any password (by convention this ! 106: is given as the client host's name). ! 107: .PP ! 108: In the last case, ! 109: .I ftpd ! 110: takes special measures to restrict the client's access privileges. ! 111: The server performs a ! 112: .IR chroot (2) ! 113: command to the home directory of the ``ftp'' user. ! 114: In order that system security is not breached, it is recommended ! 115: that the ``ftp'' subtree be constructed with care; the following ! 116: rules are recommended. ! 117: .IP ~ftp) ! 118: Make the home directory owned by ``ftp'' and unwritable by anyone. ! 119: .IP ~ftp/bin) ! 120: Make this directory owned by the super-user and unwritable by ! 121: anyone. The program ! 122: .IR ls (1) ! 123: must be present to support the list commands. This ! 124: program should have mode 111. ! 125: .IP ~ftp/etc) ! 126: Make this directory owned by the super-user and unwritable by ! 127: anyone. The files ! 128: .IR passwd (5) ! 129: and ! 130: .IR group (5) ! 131: must be present for the ! 132: .I ls ! 133: command to work properly. These files should be mode 444. ! 134: .IP ~ftp/pub) ! 135: Make this directory mode 777 and owned by ``ftp''. Users ! 136: should then place files which are to be accessible via the ! 137: anonymous account in this directory. ! 138: .SH "SEE ALSO" ! 139: ftp(1C), ! 140: .SH BUGS ! 141: There is no support for aborting commands. ! 142: .PP ! 143: The anonymous account is inherently dangerous and should ! 144: avoided when possible. ! 145: .PP ! 146: The server must run as the super-user ! 147: to create sockets with privileged port numbers. It maintains ! 148: an effective user id of the logged in user, reverting to ! 149: the super-user only when binding addresses to sockets. The ! 150: possible security holes have been extensively ! 151: scrutinized, but are possibly incomplete.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.